简单解决方案一行命令:
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原创出品,转载请注明出处!
暂无评论,大侠不妨来一发?