使用“find -mtime +n”删除备份——剩余的备份比预期的多

使用“find -mtime +n”删除备份——剩余的备份比预期的多

这是我的脚本:

find /backup/dir -mindepth 1 -depth -mtime +4 -exec rm -rf \{\} \;

在此之后,我始终没有保存 4 个备份,而是 5 个。

我认为 find 在这方面很糟糕。也许有人知道如何使用其他工具?

答案1

我认为 find 在这方面很糟糕。也许有人知道如何使用其他工具?

find可能仍然是正确的工具。

man find

-mtime n
文件数据的最后修改时间是n*24几个小时前。请参阅注释以-atime了解舍入如何影响文件修改时间的解释。

[…]

数字参数可以指定为

+n大于n
[…]

相关评论是

find计算文件上次访问是在多少个 24 小时前时,小数部分都会被忽略,因此为了匹配-atime +1,文件必须至少在两天前被访问过。

这意味着是0可能的。-mtime +4备份报告0、、或保持不变。我假设您的备份是每日1备份,因此每个提到的数字都只报告一次。五个数字,五个备份未通过测试,五个备份保留。234

如果您使用-mtime +3而不是,-mtime +4那么报告的备份01或将保留;可能总共有四个备份,23是您想要的数量。

也可以看看find为什么使用-mtime -0和 的行为会有所不同+0

相关内容