随着年龄的增长,修剪备份文件

我正在寻找一个工具(用于Linux),它将修剪我的备份文件,而不像标准的logrotate在定义的旋转次数后完全删除它们,但是文件基本上是永久保存的,除非它们随着它们变老而被修剪和更老。 例如:

  • 对于第一个月我想保持每一个每日备份文件
  • 之后我只想在接下来的6个月内保持每周备份
  • 之后我只想每月保留6个月的备份
  • 之后我只想保留一个季度备份

是否有一个工具来做这种基于时间的文件清理存在?

它可能要看文件名中的date,或文件的时间戳(尽pipe如此)。

没有我知道的这样的工具,通常这是包含在您的备份软件。 你使用什么备份工具?

我会推荐rsnapshot这可以被configuration为做你要求的这些聪明的东西,并通过广泛使用硬链接保持小的备份大小。

如果你有自己的cronjobs / system来创build备份,你可以创build一些cronjobs 。

  • 备份到“每日文件夹”
  • 有一个每周cronjob将文件从你的每月文件夹移动到你的“每周文件夹” 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 {} \;

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