如何在Linux中设置cron作业来删除所有常规文件?

如何在Linux中设置cron作业来删除所有常规文件?

我需要设置一个作业,/home/admin在每个月的第二天上午 8:30 删除目录中的所有常规文件,这似乎是错误的命令:

# crontab -e
30 08 02 * /bin/find /home/admin -type f -exec /bin/rm {} ";"

答案1

手册crontab(5)规定时间字段:

 field         allowed values
 -----         --------------
 minute        0-59
 hour          0-23
 day of month  1-31
 month         1-12 (or names, see below)
 day of week   0-7 (0 or 7 is Sun, or use names)

你的例子只有

这将使 cron 作业正确运行:

30 8 2 * * /bin/find /home/admin -type f -exec /bin/rm {} ";"

为了更有效、更快速地进行清理:

30 8 2 * * /bin/find /home/admin -type f -print0 | xargs -0 rm

答案2

您需要添加30 08 02 * *\;

# crontab -e
30 08 02 * * /bin/find /home/admin -type f -exec /bin/rm {} \;

现在它会起作用了。

相关内容