Cronjob无法在CentOS 6中重新启动Apache

我正在使用Plesk 12 + CentOS 6。

我login到root帐户并使用crontab -e创build以下条目:

* * * * * service httpd restart

我期望它每分钟重新启动Apache(只是为了testing/debugging它的工作)

我使用service httpd status检查Apache的状态,并且PID总是相同的,并且apache不重新启动。

我validation了/var/log/cron命令正在执行。

Feb 7 16:11:01 srv104 CROND[15620]: (root) CMD (service httpd restart)

但是, crontab中的所有其他条目都正确执行。

如果我在shellterminal中手动执行命令service httpd restart ,apache正在用一个新的更新的PID正确地重新启动。

是否有任何预防措施,以便service不能在root cronjob执行?


为什么我的crontab无法正常工作,我该如何排除故障? 有一些有用的提示,但没有解决我在上面的原始问题中提到的具体情况。

工作scheme:

如果我指定/sbin/service的完整path,例如。 /sbin/service httpd restart在cronjob中,正如接受的答案中提到的那样,它确实有效。

不知道它是否与操作系统版本有关,但是简单地用/etc/crontab/PATH到位对我的情况没有帮助。

将你的命令replace为/sbin/service httpd restart

或者正如在注释中指出的那样:在/etc/crontab设置PATH,包括/sbin/usr/sbin应该这样做。