crontab 计划和 cron 作业

crontab 计划和 cron 作业

我已将两个文件放入/etc/cron.d/目录中:

第一个每天 12:00AM 发布一条新帖子:

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

第二个每10分钟更新一次最新帖子

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

我是否需要做一些其他的事情才能使这项工作根据时间运行(例如每 10 分钟)或者我必须做crontab job1什么crontab job2

编辑:我也安装了 cronie。

答案1

将文件放入 cron.d 中就足够了。但是,您的最后输入应该是:

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

否则它会每小时运行一次,在第 10 分钟。

答案2

另外,添加

> /dev/null 2>&1

在最后(命令之后),这样 cron 就不会用输出向你发送垃圾邮件:)

答案3

中的 crontab/etc/cron.d/要求在第 6 个字段中输入用户名, 也是如此。和 via/etc/crontab中的基于用户的 crontab没有用户名字段。/var/spool/crontabs/crontab -e

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

目前,这些 cron 作业/var/www/site1/helperphp用户身份执行,而不是执行/usr/bin/php并向其传递参数/var/www/site1/helper post:make。这将要如果您有php用户,则文件是可执行的并且具有适当的shebang。(即#!/usr/bin/php作为第一行。)否则,它将在中记录错误/var/log/cron/log

下面的示例以httpd用户身份运行它们,并具有 PHP 可执行文件的明确路径。您应该选择合适的用户。

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

答案4

这:

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

不会每 10 分钟运行一次,而是每小时第 10 分钟运行一次(00:10、01:10,...)。

每 10 分钟运行一次:

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

相关内容