Docker容器中部署的MySQL数据库每天定时自动备份数据库
上篇说了怎么在Linux中自动定时备份数据库,这篇我们讲讲数据库部署在docker中怎么进行数据库的定时备份,废话不多说,直接来了。
1.创建目录
cd /data
#创建目录
mkdir backup
cd backup
#创建备份Shell脚本
touch DatabaseBackup.sh
#添加可执行权限
chmod u+x DatabaseBackup.sh
2.脚本编写
将下面的脚本直接粘贴到DatabaseBackup.sh,压缩不压缩任选其一就可以了
注:
把 username 替换为实际的用户名;
把 password 替换为实际的密码;
把 DatabaseName 替换为实际的数据库名
2.1不需要压缩
docker exec -it mysql(容器名) /bin/bash -c 'mysqldump -uroot -p123456 --databases 需要备份的数据库' > /data/backup/test_`date +%F`.sql(宿主机的文件路径);
2.2 需要压缩
docker exec -it mysql(容器名) /bin/bash -c 'mysqldump -uroot -p123456 --databases 需要备份的数据库 | gzip' >/data/backup/test_`date +%F`.sql.gz;(宿主机的文件路径);
3.添加计划任务
crontab -e
输入以下内容并保存,这里设置的是每天23:30分对数据库进行一次备份
30 23 * * * /data/backup/DatabaseBackup.sh
可以先加一个测试的试一下,每一分钟备份一次
1 * * * * /data/backup/DatabaseBackup.sh
上一篇:在MySQL中,如何进行备份和恢复数据库?物理备份和逻辑备份的区别是什么?
下一篇:已经是最后一篇