在前一篇文章中提到,讓Linux擁有自動備份,但要總不能無止盡的增加新備份,卻不移除過期的備份。
延續前一篇文章,假設將網頁伺服器服務(Apache)內的html資料夾,以及整個資料庫服務(MySQL)內的所有資料庫備份到/home/backup/daily,現在要讓主機自動移除過期的備份。
開啟一份空白文件,將以下指令貼入,另存為remove_dailybackup_30days.sh
#!/bin/bash
#1.刪除30天前的舊每日備份檔
datedim=`date –date=’30 days ago’ +%Y-%m-%d`
basedir=”/home/backup/daily”
rm -rf “$basedir/mysql”/mysql.”$datedim”.tar.gz
rm -rf “$basedir/html”/html.”$datedim”.tar.gz
exit 0
將剛才存檔的remove_dailybackup_30days.sh,放到/etc/cron.daily,確保每天執行一次檢查。
上述範例中,定義刪除30天前的備份檔,日期格式必須符合「年-月-日.tar.gz」,例如「2008-02-03.tar.gz」。如果要變更天數,直接修改倒數第三行的定義就行了。
最後更新日期: 2020/09/21
喜歡這篇文章?立刻分享給朋友!
- 0share
- FB Messenger
- Line