Linux定时备份Docker运行的MySQL数据
首页> 学海无涯> Linux> Linux定时备份Docker运行的MySQL数据
Linux定时备份Docker运行的MySQL数据
摘要 Linux定时备份Docker运行的MySQL数据

简单解决方案一行命令:

docker 运行mysql 名称:mymysql

watchmen:数据库名称

 /backup/mysql:备份文件存储路劲

docker exec -it mymysql mysqldump -uroot -p123456 watchmen>/backup/mysql/back_`date +%Y%m%d%H%M%S`.sql


如果想做定时备份需要借助linux [crontab]:定时任务的守护进程,精确到分、秒,可自由编写脚本  -->相当于定时器



编写好我们的ssh 脚本mysql.sh 

输出日志 :log.txt 

目前是设置每一分钟执行一次、执行具体corn 配置文章最后做一个常用统计接着往下看

# mysql 为安装mysql的docker
#!/bin/bash
docker_name=mymysql
data_dir="/backup/mysql/"
docker exec -it mymysql mysqldump -uroot -px2hj58 watchmen>/backup/mysql/back_`date +%Y%m%d%H%M%S`.sql
#docker exec -it $docker_name mysqldump -uroot -p123456 --all-databases > "$data_dir/back_`date +%Y%m%d%H%M%S`.sql"

# 删除7天以前的备份 find $data_dir -mtime +7 -name 'back_*.sql' -exec rm -rf {} \;


编写好:wq退出

现在重启下服务

service crond start

稍微等待片刻 目前已经生成了备份sql 脚本



corn常用的表达式

Cron表达式范例
每隔5秒执行一次:*/5 * * * * ? 每隔1分钟执行一次:0 */1 * * * ? 每天23点执行一次:0 0 23 * * ?
每天凌晨1点执行一次:0 0 1 * * ?
每月1号凌晨1点执行一次:0 0 1 1 * ?
每月最后一天23点执行一次:0 0 23 L * ?
每周星期天凌晨1点实行一次:0 0 1 ? * L
在26分、29分、33分执行一次:0 26,29,33 * * * ?
每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ? 每隔5分钟执行一次:0 0/5 * * * ?



版权声明:本文由Contione原创出品,转载请注明出处!

本文链接:https://contione.cn/article/detail/24

本文配乐
来说两句吧

暂无评论,大侠不妨来一发?