MYSQL Linux下自動備份並刪除7天前的舊備份 sh指令碼
阿新 • • 發佈:2019-02-07
# 資料庫使用者名稱 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命令實現定時自動備份並刪除舊備份檔案的功能