复杂的保留策略

复杂的保留策略

我每天都会将多个数据库的数据库备份 scp 到本地 Linux 机器上的目录中。命名格式为 [dbname].backup;没有时间戳,目前最新的备份会覆盖之前的备份。

管理层希望保留文件的旧版本并在末尾附加日期戳,并应用以下保留策略:

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

我正在绞尽脑汁不知道如何编写这个脚本,所以我有点希望其他人之前写过类似的东西,或者也许有一个我不知道的工具可以管理这种事情。

有人知道这样的脚本或工具吗?

答案1

我们公司经常这么做。

您可能主要使用“find”(man find)。例如:

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

将从 /home 开始删除所有创建时间超过 14 天的文件。您可以进一步指定 find 选项,以便找到目标文件。

如果您需要更多信息或使用查找的帮助,请告诉我,但它会满足您的所有需求。

相关内容