【发布时间】:2011-06-18 21:15:23
【问题描述】:
这是我的情况:
我正在尝试通过 cron 运行一个 php 脚本,并且我有一个如下所示的 crontab (/etc/crontab):
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/var/www:
MAILTO=<myemailaddress>
m h dom mon dow user command
* * * * * root /usr/bin/php /var/www/testing.php
当我从 bash/sh 运行命令 /usr/bin/php /var/www/testing.php 时,一切都很好。它只是一个基本的 php 脚本,将一些乱码写入文件。但是,我的 cronjob 没有执行。我已经多次使用 sudo service cron restart 但都无济于事。我在这里遗漏了什么明显的东西吗?
谢谢,干杯!
解决方案
我自己的错!我正在运行的 php 脚本正在写入一个未正确访问的文件 - 例如,缺少完整的文件路径。感谢大家的帮助!
【问题讨论】:
-
您在 cronjob 文件中的规则后面是否有一个空行?
-
我的实际 cron 表以 '#' 开始和结束,其中结束的井号在我的代码 sn-p 之后的单独一行上。那是EOF。
-
edit:: 猜猜最后一条评论消失了,至于操作系统,它只是 Ubuntu。这是主 crontab,而不是单个用户的——也就是说,它位于 /etc/crontab 中。特定于用户的 crontab 没有用户列。
-
是的——我刚刚做了
* * * * * root echo hi >> /tmpnonsense,它奏效了。每分钟它都会附加你好。 -
您能以对他人有所帮助的方式回答您自己的问题吗?如果你这样做,你可以选择你的作为正确答案。这可能看起来很奇怪,但它是处理此类情况的首选方式。