我每天都会将多个数据库的数据库备份 scp 到本地 Linux 机器上的目录中。命名格式为 [dbname].backup;没有时间戳,目前最新的备份会覆盖之前的备份。
管理层希望保留文件的旧版本并在末尾附加日期戳,并应用以下保留策略:
- 所有文件将保留 7 天
- 每个数据库每月的第一个备份将保留 12 个月
- 每年的第一次备份将无限期保留
我正在绞尽脑汁不知道如何编写这个脚本,所以我有点希望其他人之前写过类似的东西,或者也许有一个我不知道的工具可以管理这种事情。
有人知道这样的脚本或工具吗?
答案1
我们公司经常这么做。
您可能主要使用“find”(man find)。例如:
查找/home-type f-ctime +14-exec rm-f {} \;
将从 /home 开始删除所有创建时间超过 14 天的文件。您可以进一步指定 find 选项,以便找到目标文件。
如果您需要更多信息或使用查找的帮助,请告诉我,但它会满足您的所有需求。