Cron 从特定目录中删除特定文件

Cron 从特定目录中删除特定文件

我正在尝试为 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 天内未访问过的所有文件。

相关内容