数据库

当前位置:首页 > 数据库

Docker容器中部署的MySQL每天进行定时自动备份数据库

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