执行php脚本的Cronjob问题

我有一个小时cronjob脚本curl一个PHP脚本。 php脚本没有被执行。 在crontab -e我有:

1 * * * * /var/www/path/to/script.sh

grep cron /var/log/syslog输出:

 Mar 23 21:45:01 Emile CRON[5339]: (root) CMD (/var/www/path/to/anotherscript.sh) Mar 23 22:01:01 Emile CRON[5386]: (root) CMD (/var/www/path/to/anotherscript.sh) Mar 23 22:01:01 Emile CRON[5387]: (root) CMD (/var/www/path/to/script.sh) Mar 23 22:14:01 Emile CRON[5425]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) Mar 23 22:15:01 Emile CRON[5429]: (root) CMD (/var/www/path/to/anotherscript.sh) 

我已经validation了在script.shcurl的url是正确的,并且crontab -e中的path是正确的。 我也validation了,手动执行php脚本。 那里还有什么? 有任何想法吗? 另一种诊断方法? 什么是我的系统日志中的cd / && run-parts

先谢谢您的帮助!

通常会发生的是$PATH问题。 这是curl正在使用它的完整pathscript.sh或只是curl

你也可以把脚本的第一行(如果使用bash)从#!/bin/bash更改为#/bin/bash -x (这将从bash生成debugging输出)。

无论如何,正如@derfK在他的评论中所说的,检查用户的电子邮件是否有错误(脚本debugging也将被发送到用户的电子邮件)。 您可以在规则行之前更改cron用于发送邮件的电子邮件,将MAILTO=<email>