Назад | Перейти на главную страницу

Cronjob не может перезапустить apache в CentOS 6

Я использую Plesk 12 + CentOS 6.

Я ssh в root учетная запись и использование 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 правильно выполняются.

Если я выполню команду service httpd restart вручную в терминале оболочки, apache перезапускается правильно с новым обновленным PID.

Существуют ли какие-либо превентивные меры, чтобы service не может быть выполнен в root cronjob?


Почему мой crontab не работает и как я могу устранить его? содержит несколько полезных советов, но не касается моей конкретной ситуации, упомянутой в исходном вопросе выше.

Рабочее решение:

Если я укажу полный путь к /sbin/service, например. /sbin/service httpd restart в cronjob, как указано в принятом ответе, он работает.

Не уверен, что это связано с версией операционной системы, но просто с PATH на месте в /etc/crontab/ не помогает в моей ситуации.

Замените вашу команду на /sbin/service httpd restart.

Или, как указано в комментариях: установка PATH в /etc/crontab, включая /sbin и /usr/sbin стоит сделать.