我確信我們面臨著一個非常常見的問題:我們每天進行備份,從而產生文件名稱中包含日期的壓縮存檔文件,並且我們不想永遠保留所有這些文件。
一些我認為不太奇怪的要求:
- 刪除除最近 X 個備份/天之外的所有備份
- 保留週日備份
- 保留每月最後一次備份
- 如果最新備份的大小為 0/比上一個備份大/小 50% 以上,則提醒某人
我嘗試用谷歌搜索,但只找到了一千個腳本,其中許多有明顯的問題和錯誤。對於這個問題,是否沒有經過充分測試並擁有社區的「適當」解決方案?我是否注定要複製並貼上來自 SO 或 SU 的腳本,這些腳本將不會得到維護或得到錯誤修復,並且有一天可能會吃掉我們所有的備份?
答案1
政府財政服務(祖父-父親-兒子)保留方法可能是一個很好的答案。將其與 @ivanivan 提到的一些適時的 cron 結合。
基本上,您每天、每周和每月進行備份(crons 將控制這些備份)。
然後您可以決定保留策略
- 每日備份通常至少保留 1 週(但有時為 2 至 3 週)
- 每週備份通常會保留 5 週(但可能是 8 週)
- 每月備份通常會保留 6 或 12 個月(取決於每年/半年備份)
- 也可以進行每年/半年備份,但可能只對會計或需要保留日誌的地方有用
然後,crons 也會清除策略視窗之外的舊檔案
正如伊凡萬建議的:
您的問題聽起來像是一組相對簡單的 shell 腳本和 cron 作業就可以解決。可能建議您不要透過谷歌搜尋適合其他人情況的腳本,而是透過谷歌搜尋如何學習如何執行 shell 腳本編寫。
你可能想看看 bash 腳本 - 這是一個值得學習的好東西:)