crontab时间表和cron作业

我把两个文件放在/etc/cron.d/目录下:

第一个每天上午12:00发布新post:

 0 0 * * * php /var/www/site1/helper post:make 

第二个每10分钟更新最新的post

 10 * * * * php /var/www/site1/helper post:update 

我是否必须根据时间(例如,每10分钟)为此作业做其他事情,还是必须执行crontab job1crontab job2

编辑 :我也安装了cronie。

把文件放在cron.d就足够了。 但是,您的最后一项应该是:

 */10 * * * * php /var/www/site1/helper post:update 

否则在第10分钟一小时运行一次。

另外,添加

 > /dev/null 2>&1 

在结束(命令之后)所以cron不会发送垃圾邮件给你:)

/etc/cron.d/的crontabs需要在第6个字段中input用户名,就像/etc/crontab/var/spool/crontabs/的基于用户的crontabs和通过crontab -e没有用户名字段。

Halfgaar关于每10分钟运行时间的答案也是正确的。

目前,这些cron作业执行/var/www/site1/helper作为php用户,而不是执行/usr/bin/php并将参数/var/www/site1/helper post:make传递给/var/www/site1/helper post:make 。 这工作,如果你有一个php用户,该文件是可执行的,并有一个适当的shebang。 (即#!/usr/bin/php作为第一行),否则会在/var/log/cron/log

下面的例子将它们作为httpd用户运行,并且具有到PHP可执行文件的显式path。 你应该select一个合适的用户。

 0 0 * * * httpd /usr/bin/php /var/www/site1/helper post:make */10 * * * * httpd /usr/bin/php /var/www/site1/helper post:update 

这个:

 10 * * * * php /var/www/site1/helper post:update 

不会每10分钟运行一次,它会在每小时10分钟(00:10,01:10,…)运行。

这将每10分钟运行一次:

 */10 * * * * php /var/www/site1/helper post:update