ITPub博客

首页 > 数据库 > > docker容器mysql定时备份

docker容器mysql定时备份

作者:cityvag 时间:2019-08-30 13:49:19 0 删除 编辑

定时计划执行脚本:mysqlbat.sh

docker exec -i `docker ps|grep mysql| awk '{print $1}'` /mysql/mysqlbackup.sh(挂载到容器内后的路径)

#docker exec不能跟-it后台运行,只能跟-i进入容器执行后面的脚本

挂载脚本mysqlbackup.sh到容器/mysql/下

mysqlbackup.sh

#!bin/bash

dt_now=`date +%Y%m%d%H`

cd /mysql/bak

mkdir $dt_now

find  /mysql/bak/  -mtime +21 -exec rm -rf {} \;(删除超过21天的备份)

echo "start backup mysql"    #(备份四个数据库)

mysqldump -uroot -pjetsen123 zhyf_jeesite > /mysql/bak/$dt_now/zhyf_jeesite.sql

mysqldump -uroot -pjetsen123 zhyf_course > /mysql/bak/$dt_now/zhyf_course.sql

mysqldump -uroot -pjetsen123 zhyf_jeuc > /mysql/bak/$dt_now/zhyf_jeuc.sql

mysqldump -uroot -pjetsen123 zhyf_resource > /mysql/bak/$dt_now/zhyf_resource.sql

mysqlbackup.sh(后期优化自动识别备份后期增加的数据库)

#!bin/bash

dt_now=`date +%Y%m%d%H`

PASSWD="jetsen123"

cd /mysql/bak

mkdir $dt_now

find  /mysql/bak/  -mtime +21 -exec rm -rf {} \;

echo "start backup mysql"

for i in `mysql -uroot -p$PASSWD -e "show databases"|grep -E "information_schema|mysql|performance_schema|sys|Data" -v `;do  mysqldump -uroot  -p$PASSWD  $i > /mysql/bak/$dt_now/$i.sql;done

定时计划:两种方法二选一

1、crontab -e进入编辑添加

0 1 * * * root /srv/jetsen/mysql/mysqlbat.sh (每天凌晨一点执行)

2、编辑vim /etc/crontab文件最后添加

0 1 * * * root /srv/jetsen/mysql/mysqlbat.sh

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3518/viewspace-3136295/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-30

  • 博文量
    79
  • 访问量
    742