美文网首页
MySQL定时全库备份

MySQL定时全库备份

作者: KN郑某某 | 来源:发表于2020-10-09 15:42 被阅读0次

1. 备份脚本

在文件夹 /home/zqyu/database_bak 下创建脚本文件 db-backup.sh, 数据库账号是root,密码是123456, backupSize表示要保留的备份文件数量,备份 db_1,db_2,db_3三个数据库

#!/bin/bash
set -e

mhome=/home/zqyu/database_bak
today=$(date "+%Y%m%d_%H%M%S")
db_names=(db_1 db_2 db_3)

for db in ${db_names[@]}
do
    echo '备份数据库 '${db}' 中...'
    mkdir -p ${mhome}/${db}
    cd ${mhome}/${db}
    mysqldump -u root --password='123456' ${db} | gzip > ${mhome}/${db}/${today}.sql.tar.gz

    backupSize=30
    index=0
    for bak in $(ls -r)
    do
        if [ ${index} -ge ${backupSize} ]; then
            rm -f ${bak}
            # echo ${bak}
        fi
        index=$(expr ${index} + 1)
    done
done

2. 添加定时任务

$ crontab -e

添加定时任务,ESC:wq保存

# 每天02:05备份一次数据库
05 02 * * * bash /home/zqyu/database_bak/db-backup.sh

相关文章

网友评论

      本文标题:MySQL定时全库备份

      本文链接:https://www.haomeiwen.com/subject/kvvlpktx.html