Backup
備份文件變老時修剪
我正在尋找一種工具(適用於 Linux)來修剪我的備份文件,不像
logrotate
在定義的旋轉次數後完全刪除它們的標準,而是文件基本上永久保存的地方,除非它們隨著年齡的增長而被修剪年紀大了。例如:
- 第一個月,我想保留每個每日備份文件
- 之後我只想在接下來的 6 個月內保留每周備份
- 之後我只想將每月備份再保留 6 個月
- 之後我只想保留一個季度備份
是否存在進行這種基於時間的文件清理的工具?
它可以查看文件名中的日期,也可以查看文件的時間戳(雖然不理想)。
我知道沒有這樣的工具,通常這包含在您的備份軟體中。你用什麼備份工具?
我會推薦rsnapshot 這可以配置為執行您要求的這些智能操作,並通過廣泛使用硬連結來保持較小的備份大小。
但是,如果您有自己的 cronjobs/系統來創建備份,則可以再創建一些cronjobs。
- 備份到“每日文件夾”
- 每週進行一次 cronjob,將 30 天之前的文件從每月文件夾移動到“每周文件夾”
find /path/to/daily -maxdepth 1 -mtime +30 -type f -exec mv "{}" /path/to/weekly/ \;
因為下面的 cronjob 將刪除較舊的文件,這將只是一天的備份文件。
- 有一個每日 cronjob,從你的每日文件夾中刪除超過 30 天的文件(確保它在上面的每週 cron 之後執行)
find /path/to/daily/* -mtime +30 -exec rm {} \;
每周到每月和每月到每季度重複