Backup

備份文件變老時修剪

  • March 18, 2022

我正在尋找一種工具(適用於 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 {} \;

每周到每月和每月到每季度重複

引用自:https://serverfault.com/questions/830059