docker数据库备份

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_38401919/article/details/80731280

原文链接:http://www.bestqliang.com/2018/05/18/docker%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%87%E4%BB%BD/

第一次备份脚本

直接执行可以备份成功,当使用定时任务进行备份的时候,备份的文件为空,也就是说没有mysqldump出内容

#!/bin/bash
docker_name=mysql_container
data_dir=/home/ubuntu/mysql_dump
/usr/bin/docker exec -it $docker_name mysqldump -u username -p password --all-databases > "$data_dir/data_`date +%Y%m%d`.sql"
find $data_dir -mtime +7 -name 'data_*.sql' -exec rm {} \;

第二次备份脚本

修改备份脚本,通过在容器内执行mysqldump,并备份到容器内/var/local目录下,再把此目录映射到宿主目录/home/ubuntu/.data/mysql_dump即可

#!/bin/bash
docker_name=mysql_container
data_dir=/home/ubuntu/.data/mysql_dump
/usr/bin/docker exec $docker_name sh -c "mysqldump -u username -p password --all-databases > /var/local/data_`date +%Y%m%d`.sql"
find $data_dir -mtime +7 -name 'data_*.sql' -exec sudo rm {} \;
展开阅读全文
博主设置当前文章不允许评论。

没有更多推荐了,返回首页