docker数据库备份


第一次备份脚本

直接执行可以备份成功,当使用定时任务进行备份的时候,备份的文件为空,也就是说没有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 {} \;

文章作者: Qliang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Qliang !
评论
 上一篇
ubuntu定时备份数据库并发送邮件 ubuntu定时备份数据库并发送邮件
一、 安装 mail安装 sudo apt-get install heirloom-mailx 修改配置文件 /etc/s-nail.rc(Ubuntu),/etc/mail.rc(centOS) sudo vim /etc/s-nai
2018-05-18
下一篇 
vue和jquery配合使用出现的问题 vue和jquery配合使用出现的问题
按照官方文档this.$nextTick可以在dom渲染完成之后执行操作,于是出现了以下问题 如图 上图为列表部分,下图为vue部分 采用watch监听数据变化,然后用this.$nextTick等待dom渲染完成再执行方法 预期
2018-03-28
  目录