- 新建脚本
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
保存即可
Original: https://www.cnblogs.com/zilongmao/p/15885499.html
Author: 无尽函数
Title: 定时备份Docker中的MySQL数据库
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/610359/
转载文章受原作者版权保护。转载请注明原作者出处!