非常简单(标题有点绕)
与正常备份一样,只不过是在docker容器内,失败会发邮件到邮箱,会删除超过7天的数据


基础命令介绍:
docker exec 在运行的容器中执行命令
参数:
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端


脚本:
#!/bin/bash
docker exec -i docker_mysql mysqldump -uroot -pffsdf epel >/backup/$(date +%F).sql
if [ $? -eq 0 ];then
find /backup/ -type f -mtime +7|xargs rm -f
else
echo "请登录主机“127.0.0.1"检查mysql备份是否正常,备份目录/backup/。" | mail -s "备份失败" [email protected]
fi
加一个crontab就可以用了,这是一个最简单的备份哦


docker exec -i (一定不要带-t)这样备份会是空表,切记。看清上边的命令介绍,docker exec -it 相当于交互打开一个伪终端执行备份操作crontab是无法执行的。