Cronjob php脚本无法正常工作

时间:2011-03-31 11:07:32

标签: php linux debian

我正在尝试设置一个每20分钟运行一次的cronjob。 这可以手动工作:

php /srv/www/mysite.co.uk/public_html/PP/Make_XML.php LONDON

我尝试使用“crontab -e”并将其设置为每20分钟使用:

 */20 * * * * php /srv/www/mysite.co.uk/public_html/PP/Make_XML.php LONDON

它已保存到/tmp/crontab.0xYhei9m/crontab

它似乎不起作用。 这有什么不对?

编辑:

当前统计数据:

*。 cron启动并运行:

root     31855     1  0 08:39 ?        00:00:00 /usr/sbin/cron

*。运行“crontab -l”显示:

  

* / 20 * * * * / usr / bin / php /srv/www/mysite.co.uk/public_html/PP/Make_XML.php   LONDON

仍然没有去。再次手动运行脚本工作正常。

4 个答案:

答案 0 :(得分:5)

是否正在运行cron守护进程?

答案 1 :(得分:1)

  

它已保存到/tmp/crontab.0xYhei9m/crontab

是的 - 这是你刚刚编辑的文件 - 它不是文件crond读取来解雇工作。然后Crontab会读取此文件,在crond查找它的位置安装更新的crontab,并通知crond它需要处理该文件。

你检查过:

  1. crond正在运行?
  2. 你的uid被允许安排cron工作(通常通过/etc/cron.allow / /etc/cron.deny)
  3. 脚本真的没有被cron启动而且由于权限错误而失败了吗?
  4. 您使用的crond版本是否支持$ PATH并且可以找到可执行文件?

答案 2 :(得分:0)

如果已经在线,请尝试使用wget而不是php,使用url而不是路径,即:。

* / 20 * * * * wget http://YOUR_IP/~YOUR_USER/PATH/Make_XML.php

* / 20 * * * * wget http://mysite.co.uk/PP/Make_XML.php

首先确保网址有效,只需使用浏览器

打开即可

希望它有所帮助!

答案 3 :(得分:-1)

Crontab对PATH变量一无所知。所以使用你的php的绝对路径(例如/ usr / bin / php)/你可以运行命令which php来找到你的php路径