linux - 删除超过 3 年的文件

标签 linux bash delete-file

我需要删除目录中超过 2 年的所有文件。保留最新文件并删除旧文件非常重要。

我已经搜索并找到了这个。

find /path/to/files* -mtime +365 -exec rm {} \;

我可以乘以这个数字吗?

find /path/to/files* -mtime +1095 -exec rm {} \;

有没有办法添加一个开关,在删除文件时将文件名打印到屏幕上?以确保它正在做我期望的事情?

我还发现了这个:

find /rec -mtime +365 -print0 | xargs -0 rm -f

这两者有很大区别吗?这个比那个好吗?我读过的内容说 xargs 更快。我能否将 mtime 数乘以第 2 年或第 3 年?

最后,我能否将代码原样放入每天运行的 cron 作业中?

谢谢!

最佳答案

Can I just multiply the number?

find /path/to/files -mtime +1095 -exec rm {} \;

是的。并在删除之前“回显”

find /path/to/files -mtime +1095 -print

然后使用 -exec rm {}\; 删除文件的版本(当您准备好时)。

关于linux - 删除超过 3 年的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28534621/

相关文章:

file - 如何删除被锁定的文件?

linux - native Windows Linux

php - MYSQL/PHP授权脚本

python - 双击通过bash脚本在控制台中执行python脚本

linux - 在 linux 终端中查找并删除文件名中包含相同字符串的文件

symfony - 从Symfony 3中的文件夹中删除文件

linux - Linux中的内存管理

linux - 图形化 Git 客户端

linux - BASH - 传递给 sFTP 的带空格的文件名无法正确解析

linux - 如何在 Iterm 中插入制表符?