定时备份Docker中的MySQL数据库
-
新建脚本
mysql_bak.sh
# mysql 为docker中的mysql容器名 #!/bin/bash docker_name=mysql data_dir="/opt/docker/mysql/backup/" docker exec -i $docker_name mysqldump -uroot -ppassword --all-databases > "$data_dir/bak_`date +%Y%m%d%H%M%S`.sql" # 删除14天以前的备份 find $data_dir -mtime +14 -name 'bak_*.sql' -exec rm -rf {} \;
可以使用
sh mysql_bak.sh
来测试一下,看看备份文件有没有打印到/opt/docker/mysql/backup/
目录下 -
使用
crontab
创建自动备份定时任务crontab -e
# 每天凌晨3点半定时备份Docker中的MySQL 30 3 * * * sh ~/mysql_bak.sh > /opt/docker/mysql/logs/mysql_bak.log 2>&1
做完这些,按下
Esc
, 输入:wq
保存即可