2010-11-16 82 views
2

大师,PHP脚本将无法运行作为cron作业

我已经编码为我的客户执行一些广泛的数据改写(munging)在他创造的文本文件的PHP脚本。

代码是完整的,我现在已经自动化脚本。问题是,它似乎只有手动运行。我不会像CRON那样工作。

这是我有试过在我的脚本的标题“#在/ usr/bin中/ PHP -q!”:

00 1 * * * /usr/bin/php -q /HDDLogs/HDDProcess.php >>/HDDLogs/HDDProcess.log 2>&1 

日志文件确会创建,但空。我试图删除-q安静模式:没有区别。仍然没有作为CRON的工作。 PHP文件是chmod-ed 755.

Apache 2.0和PHP 5.3安装在此服务器上。我完全拥有我的代码和数据文件所在的目录。

如果您想知道,我的脚本永远不会调用URL。

任何想法??

谢谢,

铝。

+1

@ user484638 - 删除日志文件,并查看它是否已被重新创建?如果是这样,那意味着你的PHP仅仅是为了'ps auwx | grep HDDProcess.php'检查仍在运行 – ajreal 2010-11-16 17:53:14

+0

我试着你的建议。日志文件不会被重新创建。 – Chris 2010-11-16 18:05:12

+0

@Paulo:正确。文件HDDProcess.log是空的。我用空身体(?)获得CRON邮件。没有信息。它是一个用户crontab,我在这里运行了十几个bash脚本,没有问题。 – Chris 2010-11-16 18:23:29

回答

2

我觉得应该是:

... /usr/bin/php -q -f /HDDLogs/HDDProcess.php ...”

“... /usr/bin/php -q < /HDDLogs/HDDProcess.php ...”。

+1

是的,您需要使用-f标志才能从命令行执行文件。从'man php',“-f文件解析并执行文件” – JAL 2010-11-16 18:01:42

+1

我试过了你的建议。不起作用:php脚本不会启动。 – Chris 2010-11-16 18:13:09

+0

/HDDLogs/HDDProcess.log为空?收件箱中的任何cron邮件?脚本运行时,你“苏”的cronjob所有者?它是/ etc/crontab中的系统crontab还是用户crontab? – 2010-11-16 18:24:35