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

查看备份效果与备份日志

posted @ 2022-12-02 16:57  Zcb991  阅读(142)  评论(0)    收藏  举报