mkdir /var/lib/mysqlbackup
cd /var/lib/mysqlbackup
dbbackup.sh#!/bin/sh
USERNAME="username" # 修改為實際用戶
PASSWORD="password" # 修改為實際密碼
DBNAME="dbname" # 修改為實際庫名
DATE=`/bin/date +%Y-%m-%d_%Hh%Mm`
OUTDIR="/var/lib/mysqlbackup/"
OUTFILE="ip_bindass${DATE}.sql.gz"
# 核心備份命令:單事務一致性 + 最高壓縮
/usr/bin/mysqldump --database $DBNAME --opt --single-transaction \
-u$USERNAME -p$PASSWORD | /usr/bin/gzip -9 > $OUTDIR$OUTFILE
chmod +x dbbackup.sh
crontab -e
# 每天 15:20 執行(示例)
20 15 * * * /var/lib/mysqlbackup/dbbackup.sh
--single-transaction:InnoDB 一致性非阻塞備份--opt:啟用 --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charsetgzip -9:最高壓縮比,節省磁盤✅ 部署完成後,建議手動執行一次驗證輸出文件完整性與可恢復性。