用于删除超过 x 天的文件的 Cron 作业?

IMB*_*IMB 1 linux crontab

我目前正在使用此 cron 作业来删除特定位置中停滞的临时文件。我该如何改进以仅删除超过 x 天(例如 30 天)的文件?

0 4 * * 0 /bin/rm -fv /home/*/tmp/Cpanel_*

小智 6

您可以使用find

find /home/*/tmp/Cpanel_*' -type f \! -newermt "month ago" -delete
Run Code Online (Sandbox Code Playgroud)

find可能会很棘手,因此请阅读有关它的家庭作业并进行测试。通常的做法是使用不作用于找到的目标的命令进行测试,例如lsechofind有一些可用于测试的内置命令。所以你可以从这个开始:

 find /home/*/tmp/Cpanel_*' -type f \! -newermt "month ago" -ls
Run Code Online (Sandbox Code Playgroud)