绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
docker容器mysql定时备份
2019-08-30 11:03:29
定时计划执行脚本: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


戳我,来吐槽~