mysql数据库结合crontab实现定时备份
说明:centos7服务器上,使用docker拉取mysql镜像,然后再生成的mysql容器
备份脚本
生成备份的sql后,压缩成tar包,并删除7天前的备份文件
mysql_dump.sh
#!/bin/bash
docker exec -it mysql56 mysqldump -uroot -proot stu2 | gzip > /home/zcb/backup/stu2_`date +%Y%m%d`.sql.gz
send=`date '+%Y-%m-%d %H:%M:%S'`
if [ $? -ne 0 ];
then
echo "$send 数据备份失败!"
exit -1
else
echo "$send 数据备份成功!"
fi
find /home/zcb/backup/ -mtime +7 -name 'stu2_[1-9].sql' -exec rm -rf {} \;
crontab定时执行
创建定时任务
[root@zcb /]# crontab -e
然后在vim窗口,编辑如下表达式:
10 12 * * * bash /home/zcb/backup/mysql_dump.sh > /home/zcb/backup/mysql_dump.log 2>&1
编辑完成后,按下:wq,进行保存
查看定时任务
[root@zcb /]# crontab -l
这个命令会显示当前用户所有的定时任务,和crontab -e 命令所看到的效果相同
定时执行
若执行完成后,系统会给用户发送邮件,地址位于:/var/spool/mail/zcb