我正在使用 Plesk 12 + CentOS 6。
我 sshroot
考虑并使用crontab -e
创建以下条目:
* * * * * service httpd restart
我希望它每分钟重新启动 apache(只是为了测试/调试它的工作)
我使用检查了 apache 状态service httpd status
并且 PID 始终相同,并且 apache 没有重新启动。
我验证/var/log/cron
了该命令正在执行。
Feb 7 16:11:01 srv104 CROND[15620]: (root) CMD (service httpd restart)
但是, 中的所有其他条目crontab
都在正确执行。
如果我在 shell 终端中手动执行命令service httpd restart
,则 apache 将使用新的更新 PID 正确重新启动。
是否有任何service
无法执行的预防措施root cronjob
?
为什么我的 crontab 不工作,我该如何排除故障?有一些有用的提示,但没有解决上面原始问题中提到的我的具体情况。
工作解决方案:
如果我指定完整路径/sbin/service
,例如。/sbin/service httpd restart
在 cronjob 中,正如接受的答案中提到的那样,它确实有效。
不确定它是否与操作系统版本有关,但只是在我的情况下PATH
就位/etc/crontab/
并没有帮助。
将您的命令替换为
/sbin/service httpd restart
.或者正如评论中指出的那样:在 PATH 中设置一个 PATH
/etc/crontab
,包括/sbin
并且/usr/sbin
应该这样做。