复杂的保留策略

我每天都有数据库备份scp到一个本地linux机器上的多个数据库的目录。 命名格式是[dbname] .backup; 没有时间戳,并且当前最新的备份覆盖了以前的。

pipe理层希望保留带有date戳记的旧版本的文件,并在保留时应用以下策略:

  • 所有文件将被保留7天
  • 每个数据库的月份第一次备份将保留12个月
  • 每年的第一次备份将被无限期保留

我正在摸索如何写这个脚本,所以我希望别人之前写过类似的东西,或者有一个我不知道的东西可以pipe理这样的事情。

谁知道这样的脚本或工具?

我们在我的公司做了很多。

你可能会用到的主要是“find”(man find)。 例如:

find / home -type f -ctime +14 -exec rm -f {} \;

将删除已经创build超过14天的/ home下的所有文件。 您可以进一步指定选项来查找您正在定位的文件。

让我知道如果你需要进一步的信息或帮助使用查找,但它会做你需要的一切。