博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
定时任务定时备份docker中mysql并将数据自动保存到另外一台服务器
阅读量:4164 次
发布时间:2019-05-26

本文共 893 字,大约阅读时间需要 2 分钟。

定时任务定时备份docker中mysql的数据

定时备份脚本 backupdb.sh:

#!/bin/shdb_user="数据库用户名"db_passwd="数据库密码"db_name="需要备份的数据库名"CONTAINERNAME="容器名"REMOTE_USER="备份主机用户名"REMOTE_IP="备份主机ip"REMOTE_DIR="备份主机的备份目录name="$(date +"%Y%m%d%H%M%S")"docker exec -i $CONTAINERNAME /usr/bin/mysqldump -u$db_user -p$db_passwd $db_name >>/usr/data/backup/$name.sql# 通过scp的方式将备份的数据转移到另外一台服务器scp /usr/data/backup/$name.sql $REMOTE_USER@$REMOTE_IP:$REMOTE_DIR# 保留最近一个月的数据find /usr/data/backup -type f -mtime +20 -name "*.sql" -exec rm -rf {
} \;

注意需要在docker安装mysql的时候,需要在宿主机新建文件夹 /usr/data/backup

在window中编辑过的脚本需要去除空格和换行:

# 去除脚本中的空格和换行sed -i 's/\r$//' /usr/data/backup/backupdb.sh# 脚本中docker主机执行中执行容器命令时候 docker exec -it  需要将 t 去掉,否则在执行定时任务脚本的时候会报错 the input device is not a TTY

通过scp的方式将数据保存到另外一台服务器需要设置ssh免密登录:

请参考:

启动定时任务:

# 启动定时任务crontab -e# 将定时任务写入其中 分 时 日 月 年* * * * * /bin/bash /usr/data/backup/backupdb.sh# 查看定时任务列表crontab -l

转载地址:http://xhxxi.baihongyu.com/

你可能感兴趣的文章
unix高级编程之-命令行参数(实践一)
查看>>
无线网络加密方式对比 .
查看>>
linux中cat命令使用详解
查看>>
java中的异常机制
查看>>
java SE面向对象思维导图
查看>>
三维分析之视频投放
查看>>
SuperMap iDesktop之栅格值怎么查
查看>>
SuperMap iClient3D for WebGL教程-orientation
查看>>
SuperMap iClient3D for WebGL教程-description描述属性
查看>>
SuperMap iClient3D for WebGL教程-CallbackProperty
查看>>
如何修改leaflet聚合图的层级和样式
查看>>
三维分析之开敞度分析
查看>>
BIM+GIS应用的八大挑战
查看>>
.net实现.aspx页面自动加载.cs程序定义的变量并按照格式输出
查看>>
[Leetcode]Pow(x, n)-Python递归+快速幂
查看>>
[Leetcode]跳跃游戏
查看>>
[Leetcode]合并区间
查看>>
[Leetcode]最后一个单词的长度
查看>>
[Leetcode]螺旋矩阵II
查看>>
[Leetcode]旋转链表
查看>>