我正在尝试为 unix shell 编写一个 cron ,它将删除一些文件,比如 2 周后或 1 个月后从特定目录中删除。
/somedir1/somedir2/
if(somedir2) contains file with extension .txt or .log
then
check timestamp
if two weeks old delete it
otherwise don't delete.
答案1
尝试一下find
命令。
find /somedir1/somedir2 -name *.txt -name *.log -mtime 2w -delete
更改-delete
为-print
进行空运行。
答案2
您还可以利用tmpwatch
http://linux.die.net/man/8/tmpwatchatime
,使用 、 、ctime
或中的任何参数来mtime
满足您的需要。
例如,tmpwatch --atime 30d /foo
将删除 /foo 中 30 天内未访问过的所有文件。