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

linux服务器备份docker内mysql的数据_第1张图片

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

linux服务器备份docker内mysql的数据_第2张图片

(2)编辑内容

设定每年12:15 和 17:15执行备份的shell脚本
linux服务器备份docker内mysql的数据_第3张图片

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

linux服务器备份docker内mysql的数据_第4张图片

列举常用的定时实例(实例有很多其他省略)
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

你可能感兴趣的:(docker,mysql)