非常简单(标题有点绕) 与正常备份一样,只不过是在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 "备份失败" 123456789@qq.com
fi
加一个crontab就可以用了,这是一个最简单的备份哦
docker exec -i (一定不要带-t)这样备份会是空表,切记。看清上边的命令介绍,docker exec -it 相当于交互打开一个伪终端执行备份操作crontab是无法执行的。