准备:定时服务

/sbin/service crond start
/sbin/service crond stop
/sbin/service crond restart
/sbin/service crond reload

第一步:编写备份脚本

#!/bin/bash
myPath="/opt/extdata/mysqlback/"
db_Ip="127.0.0.1"
db_name="test"
port=35060
user_name="root"
db_password='123456'
now_date=$(date +%Y%m%d%H%M%S)
last_date=zzkjg_$(date -d "20 days ago" +%Y%m%d)

if [ ! -d "$myPath" ]; then
  mkdir "$myPath"
fi
mysqldump -h 127.0.0.1 -P $port -u $user_name -p$db_password $db_name  > "$myPath"zzkjg_"$now_date".sql
echo "$last_date"
if [  ! -f "$myPath$last_date.sql" ]; then
        rm -rf "$myPath$last_date"*
fi
echo '执行完毕';

第二步:添加定时任务

执行 crontab -e 添加任务 每天23点59分钟执行

59 23 * * * /opt/extdata/mysqlback/back.sh

第三步:重新加载 crond 

/sbin/service crond reload

如果是docker运行的,可执行docker内部的命令备份,如下所示

docker exec -it mysql8 mysqldump --single_transaction --hex-blob --default-character-set=utf8mb4 --skip-add-locks --set-gtid-purged=off -hlocalhost -uroot -p'Root@1234' -P3306  ohps_patient patient  patient_condition  > /root/patient.sql

 

 

 

最后修改于 2020-12-25 10:02:07
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇