linux服务器备份docker内mysql的数据

linux是比较常见的运行稳定的服务器,因此安装docker部署项目是极其方便的,在docker内使用mysql也是最常见的,本文就如何部署备份mysql的数据做个记录,记录下爬坑的过程。

1、mysql的备份数据的命令及恢复备份的命令(备份脚本的运行核心)
(1)、 备份命令解析
mysqldump -uroot -pgood good > /usr/good/data/mysql/$(date +%Y%m%d)/backupData$(date +%Y%m%d_%H%M%S).sql
命令解析
命令(从前到后)解释
mysqldump数据备份命令
-uroot数据库的用户
-pgood数据库的用户密码
good备份的数据库
/usr/good/data/mysql/备份的文件路径
$(date +%Y%m%d)/discuz_$(date +%Y%m%d_%H%M%S).sql #以日期文件夹时间名的sql文件
(2)、 恢复备份命令

mysql -uroot -pgood -P good < filename.sql

命令(从前到后)解释
mysql数据库命令
-uroot数据库的用户
-pgood数据库的用户密码
good备份的数据库
filename.sql需要恢复的数据
2、linux的shell脚本内容
#!/bin/bash
#进入名字为mysql_good 的docker容器
docker exec -i mysql_good bash <<'EOF'
#在docker内建立对应日期的文件夹
mkdir -p /usr/good/data/mysql/$(date +%Y%m%d)
#备份文件到指定文件夹
mysqldump -uroot -pgood good > /usr/good/data//mysql/$(date +%Y%m%d)/discuz_$(date +%Y%m%d_%H%M%S).sql
#退出docker容器
exit
EOF
#进入宿主机的备份目录
cd /usr/good/DataBackup
#将容器内的备份文件拷贝到本地
docker cp mysql_good:/usr/good/data/mysql/$(date +%Y%m%d) /usr/good/DataBackup
3、建立定时任务
使用linux的crontab命令
-e:编辑该用户的计时器设置;
-l:列出该用户的计时器设置;
-r:删除该用户的计时器设置;
-u<用户名称>:指定要设定计时器的用户名称。
查看crontab运行状态(安装可自行百度)
service crond status

crontab状态

创建实例过程
(1)创建定时文件

创建文件

(2)编辑内容

设定每年12:15 和 17:15执行备份的shell脚本
编辑内容

(3)能够看到已经建立成功了

建立完成

列举常用的定时实例(实例有很多其他省略)
30 21 * * * /etc/init.d/smb restart    #每晚的21:30重启smb
45 4 1,10,22 * * /etc/init.d/smb restart   #每月1、10、22日的4 : 45重启smb
10 1 * * 6,0 /etc/init.d/smb restart   #每周六、周日的1:10重启smb
* */1 * * * /etc/init.d/smb restart   # 每一小时重启smb
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是福强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值