shell脚本自动备份MySQL数据库

作者:神秘网友 发布时间:2021-02-23 17:20:14

shell脚本自动备份MySQL数据库

脚本如下:

#!/bin/bash
#数据库IP
dbserver='127.0.0.1'
#数据库用户名
dbuser='root'
#数据密码
dbpasswd='123456'
#数据库,如有多个库用空格分开
dbname='brdb_jtkg_0222 brdb_jtkg_0425'
#备份时间
backtime=`date +%Y%m%d-%H:%M`
#备份输出日志路径
logpath='/home/mysqlbackup/'


echo "################## ${backtime} #############################"
echo "开始备份"
#日志记录头部
echo ""  ${logpath}/mysqlback.log
echo "-------------------------------------------------"  ${logpath}/mysqlback.log
echo "备份时间为${backtime},备份数据库表 ${dbname} 开始"  ${logpath}/mysqlback.log
#正式备份数据库
for table in $dbname; do
source=`mysqldump -h ${dbserver} -u ${dbuser} -p${dbpasswd} ${table}  ${logpath}/dump_${table}_${backtime}.sql` 2 ${logpath}/mysqlback.log;
#备份成功以下操作
if [ "$" == 0 ];then
cd ${logpath}
#删除七天前备份,也就是只保存7天内的备份
find $logpath -name "*.sql" -type f -mtime +7 -exec rm -rf {} \;  ${logpath} 21
echo "数据库表 ${dbname} 备份成功!!"  ${logpath}/mysqlback.log
else
#备份失败则进行以下操作
echo "数据库表 ${dbname} 备份失败!!"  ${logpath}/mysqlback.log
fi
done
echo "完成备份"
echo "################## ${backtime} #############################"

写到计划任务每天执行晚上11点59分备份数据库

# crontab -e

# crontab -l

[root@crm-mysql-master mysqlbak]# crontab -e
crontab: no changes made to crontab
[root@crm-mysql-master mysqlbak]# crontab -l
59 23 * * * /data/mysqlbak/mysqlbak.sh         #分  时  天/几号  月  周  命令

shell脚本自动备份MySQL数据库 相关文章

  1. 如何用python自动编写《赤壁赋》word文档

    目录 前言 安装-python-docx 一、自动编写《赤壁赋》 准备数据 新建文档 添加标题 添加作者 添加朝代 添加图片 添加段落 保存word文档 二、自动提

  2. Linux 之开机自启动脚本

    一、操作 1、将脚本移动到 /etc/rc.d/init.d 目录下 mv /usr/local/script/test.sh /etc/rc.d/init.d 2、增加脚本的可执行权限 chmod +x /etc/rc.d/init.d/test.sh 3、添加脚本到开机自动启动项目中 cd /etc/rc.d/init.dchkconfig --add test.shchkconfig te

  3. 30 行代码实现蚂蚁森林自动“偷”能量

    虽然我支付宝加了好多好友,平时有很多能量可以“偷”,但由于太懒,至今一棵树都没种成,所以心心念念把偷能量这事自动化。而且由于蚂蚁森林改版,连续偷能量的操作流程也简单了好多,于是乎我就实现了自动偷能量,效果如下, 完整视频戳这里(https://www.

  4. 自动交互命令工具expect

    转载:https://www.cnblogs.com/saneri/p/10819348.html 简介: expect是一个自动化交互套件,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。expect自动交互流程:spawn启动指定进程---expect获取指定关键字---send向指定程

  5. Shell脚本基础(Linux开发基础)

    Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本,常见的脚本解释器有: bash: 是Linux标准默认的shell。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的缩写,内部命令一共有40个。 sh: 由Steve Bourne开发,是Bourne Shell的缩写

  6. 接口自动化测试--requests库

    Requests库基本使用 requests是python实现的最简单易用的HTTP库,建议爬虫使用request import requests url = "https://api.github.com/events" 获取某个网页 import requests r = requests.get("https://api.github.com/events") print(r) # Response [200]

  7. linux shell相关 定时清除日志脚本

    Shell 教程 变量 定义变量时,变量名不加美元符号 变量名和等号之间不能有空格 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。 中间不能有空格,可以使用下划线(_)。 不能使用标点符号。 使用一个定义过的变量,只要在变量名前面加美元符

  8. Jenkins自动化部署详细教程(转)

    大纲 【推荐】我凭这三招轻松拿到offer.pdf(吐血整理) 1.背景 在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试; 或者前后端分离后,经常会修改接口,然后重新部

  9. 自己写脚本实现zabbix报警升级

    需求: 公司的程序需要在后台跑一些脚本,有shell有php,需要持续不断的运行,如果脚本中断运行,需要自动启动,如果启动失败就发邮件/短信报警。 我们的监控是使用zabbix来做的,zabbix监控脚本后台运行和报警实现起来非常爽;但是做故障恢复就非常不爽了,

  10. jmeter实现api自动化测试

    1 介绍 2 环境安装 3 准备工作 4 环境配置 5 web页面显示测试报告 1. 介绍 文章介绍了通过jmeter事先录制api脚本,然后使用ant进行编译,最后生成html的接口测试报告,并且通过web展示。 这种测试主要应用于持续集成环境中,在运维部署代码完成之后,迅速对

每天更新java,php,javaScript,go,python,nodejs,vue,android,mysql等相关技术教程,教程由网友分享而来,欢迎大家分享IT技术教程到本站,帮助自己同时也帮助他人!

Copyright 2020, All Rights Reserved. Powered by 跳墙网(www.tqwba.com)|网站地图|关键词