【发布时间】:2012-11-30 12:21:25
【问题描述】:
我正在尝试让 crontab 自动运行一个文件,内容如下:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
*/5 * * * * php /path/to/script
我已将这个名为 prod.cron 的文件放入 /etc/cron.d 文件夹,但似乎无法让它自己运行。通过命令行直接运行脚本表明它可以正常工作,但不确定 cron.d 中的文件是否被自动检测到或者我需要做其他事情来初始化它们吗?
【问题讨论】:
-
您的系统上有用户
php吗? crontabs 的第 6 个字段是登录名。 -
您应该通过
crontab -e(作为必须运行 cronjob 的用户 ID)“提交”cronjobs,而不是将文件放在 /etc 或 /var 中。查看man crontab -
是的,我以前使用过 crontab,但我在这里尝试了一些不同的东西。有 cron.* 文件夹会自动为您运行脚本,而无需编辑 crontab,这就是我在这里想要弄清楚的。
-
不要认为你需要一个用户,我看到很多例子只是在做类似
*/1 * * * * /usr/local/bin/php /path/to/script -
你
chmod +x你的/etc/cron.d/prod.cron了吗?