1. 程式人生 > >MYSQL Linux下自動備份並刪除7天前的舊備份 sh指令碼

MYSQL Linux下自動備份並刪除7天前的舊備份 sh指令碼

# 資料庫使用者名稱
username=root
# 資料庫密碼
password=********
# 需要備份的資料庫名
database=wbwy
# 備份檔案到哪個路徑
path="/data"
# 伺服器IP地址
ipAddress="*.*.*.*"
# 日誌檔案處理
if [ -f ${path}/log.log ];then
echo "日誌檔案已存在,即將開始備份:" >> ${path}/log.log
else
touch ${path}/log.log
echo "日誌檔案不存在,建立日誌檔案" >> ${path}/log.log
fi
# 開始備份
echo "正在執行資料庫備份..."
echo "$(date +%Y-%m-%d_%H':'%M':'%S) 正在執行資料庫備份......" >> ${path}/log.log
mysqldump -h${ipAddress} -u${username} -p${password} ${database} | gzip > ${path}/wbwy_$(date +%Y%m%d_%H%M%S).sql.gz
echo "$(date +%Y-%m-%d_%H':'%M':'%S) 備份已完成" >> ${path}/log.log

echo "$(date +%Y-%m-%d_%H':'%M':'%S) 正在刪除舊的備份檔案" >> ${path}/log.log
find ${path}/ -mtime +7 -name "*.sql.gz" -exec rm -rf {} \;
echo "$(date +%Y-%m-%d_%H':'%M':'%S) 刪除備份完成" >> ${path}/log.log

可以結合crontab命令實現定時自動備份並刪除舊備份檔案的功能