2009-06-04 125 views
0

有以下的cronjob根的crontab设置:(CentOS的5.x的)cron作业似乎超时

2 * * * * /usr/bin/curl --basic --user 'user:pass' http://localhost/cron/do_some_action > /var/www/app/cronlog.log 

调用的实际命令按预期工作,但是当运行的cronjob,它总是倍出。我用set_time_limit()和相关的php.ini设置,以确保它不是PHP死亡,和/ var /日志/ cron的相貌平常对我说:

6月4日10时02分01秒foobar的的crond [12138]:(根)CMD([snip])

有关为什么cronjob会死的任何想法?

+0

做你的服务器日志显示卷曲访问脚本? – ceejayoz 2009-06-04 15:14:01

+0

是的。我也通过管道输出到日志文件(这是可写的),这表明作为其记录已更新,还没有,所以我可以确认它是否正常增量状态更新。 – Kyle 2009-06-04 16:26:53

回答

1

我计算出来 - 卷曲的进度统计:

(100 65622 0 65622 0  0 1039  0 --:--:-- 0:01:03 --:--:-- 1927) 

正在写入stderr由于某种原因 - 在命令的末尾添加2> & 1固定它:

2 * * * * /usr/bin/curl --basic --user 'user:pass' http://localhost/cron/do_some_action > /var/www/app/cronlog.log 2>&1 

感谢大家的所有见解!

1

添加用户

02 * * * *根的/ usr /斌/卷曲--basic --user '用户:通' http://localhost/not/porn> /var/www/app/filethatrootcanwriteto.log

+0

我要澄清的是,cron作业*不*运行,它只是最终超时。但我会试试这个。谢谢。 – Kyle 2009-06-04 14:46:08

0

可以有2个php.ini文件,一个用于apache,一个用于CLI。

找到php.ini应该找到两个,我建议你先在那里检查。

0

这也可以通过使用ob_start()及ob_end_flush()函数,以防止卷曲过早收回状态缓冲你的PHP输出避免。