实现Linux系统Docker容器MySQL数据库定时备份

1、创建backup.sh脚本文件
2、编辑脚本文件示例如下:

!/bin/bash
data_dir为数据库备份文件存放目录
data_dir="/data/backup/"
判断是否存在目录,不存在创建
if [ ! -d data_dir];then mkdir -pdata_dir
else
echo dir exist
fi
server_mysql_1 为MySQL数据库的docker的容器名称,使用容器ID也可以;demo为数据库名称

docker exec server_mysql_1 mysqldump -u数据库名 -p数据库密码 demo > "$data_dir/demo_`date +%Y%m%d`.sql"

删除30天以前的备份sql文件

find $data_dir -mtime +30 -name '*.sql' -exec rm -rf {} \;
完整示例:
#!/bin/bash
data_dir="/data/backup/"
if [ ! -d $data_dir  ];then
  mkdir $data_dir
else
  echo dir exist
fi
docker exec server_mysql_1 mysqldump -uroot -p123456 demo > "$data_dir/demo_`date +%Y%m%d`.sql"
find $data_dir -mtime +30 -name '*.sql' -exec rm -rf {} \;
3、设置定时任务

新建定时任务命令

crontab -e

进入编辑添加定时任务(每天凌晨一点执行):

0 1 * * * sh /server/backup.sh

备注:/server/backup.sh 定时执行的脚本路径

编辑完成,保存退出

查看定时任务命令

crontab -l
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容