Oli*_*Oli 11
要查找上次修改超过五天的文件:
find /path/to/directory -type f -mtime +4
Run Code Online (Sandbox Code Playgroud)
同时删除它们(首先测试上面的内容):
find /path/to/directory -type f -mtime +4 -delete
Run Code Online (Sandbox Code Playgroud)
要使其自动化以便您每天都运行它,请运行crontab -e(作为您希望运行此任务的用户)并添加:
@daily find /path/to/directory -type f -mtime +4 -delete
Run Code Online (Sandbox Code Playgroud)
一个实验来显示mtime你想使用哪个值。说明书很垃圾。我以为这+5是我们想要的,但评论不同意。文档似乎有冲突,所以我开始创建三个文件,每间隔 1 天:
$ mkdir test
$ touch test/now
$ touch -d "1 day ago" test/yesterday
$ touch -d "2 days ago" test/day-before-yesterday
$ ls -l test
total 0
-rw-r--r-- 1 oli oli 0 Nov 26 13:12 day-before-yesterday
-rw-r--r-- 1 oli oli 0 Nov 28 13:11 now
-rw-r--r-- 1 oli oli 0 Nov 27 13:12 yesterday
Run Code Online (Sandbox Code Playgroud)
如果我们想要的东西正好在 24-48 小时之间,我们使用 1 而不带符号。
$ find test -mtime 1
test/yesterday
Run Code Online (Sandbox Code Playgroud)
但是,如果我们想要 24 小时 + 的事情,+1则行不通:
$ find test -mtime +1
test/day-before-yesterday
Run Code Online (Sandbox Code Playgroud)
+1似乎意味着“比1显示的更多”......所以+0使用:
$ find test -mtime +0
test/day-before-yesterday
test/yesterday
Run Code Online (Sandbox Code Playgroud)
如果你像我一样习惯正确的话,一切都会很烦人......但我会恢复的,我敢肯定。感谢 Adaephon 的戳戳。
小智 1
是的,你可以,使用 cron jobs 假设你需要在五天后删除 /tmp/test/ 目录中的文件,然后
crontab -e
Run Code Online (Sandbox Code Playgroud)
现在将这些行添加到最后
@weekly rm -fr /tmp/test/
Run Code Online (Sandbox Code Playgroud)
现在该文件夹将每周删除一次。欲了解更多信息请点击这里
| 归档时间: |
|
| 查看次数: |
7882 次 |
| 最近记录: |