这是我的脚本:
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
备份,因此每个提到的数字都只报告一次。五个数字,五个备份未通过测试,五个备份保留。2
3
4
如果您使用-mtime +3
而不是,-mtime +4
那么报告的备份0
、1
或将保留;可能总共有四个备份,2
这3
是您想要的数量。