1. 程式人生 > 實用技巧 >mysql的備份策略之mysqldump

mysql的備份策略之mysqldump

在我們日常維護過程中資料庫的備份是必須要有的。這裡跟大家分享一下自己寫的mysqldump的備份指令碼。實現我們的自動化備份。

!/bin/bash

mysql 全量備份

dbUser='root' #備份資料庫時mysqldump命令使用的賬號
dbPass='xxxx' #備份資料庫時mysqldump命令使用的密碼
dbAddress='127.0.0.1'
socket='/data/mysql/mysql-8.0.20/mysql.sock'
bkDir='/data/backup/mysql_selfservice' #備份檔案的存放目錄
now_Time=date +"%F_%H-%M-%S"

#備份檔案的字尾
port='3360'
bak_KeepTime=15

/home/mysql/mysql-8.0.20/bin/mysqldump -S ${socket} -u${dbUser} -p${dbPass} -P ${port} --set-gtid-purged=OFF --single-transaction --databases hades --ignore-table=hades.ddos_mail_record --ignore-table=hades.ddos_notice_record --ignore-table=hades.ddos_notice_receive | gzip > ${bkDir}/mysql_all.sql_${now_Time}.gz

清理過期的備份檔案

function purge_backup() {
for i in $(find ${bkDir} -mtime ${bak_KeepTime} |grep mysql_all ); do
rm -f $i
done
}

[[ date +%H -eq 12 ]] && purge_backup