Как перезапустить PHP-FPM от крона?

Я пытаюсь перезапустить PHP5-FPM периодически с помощью Крона, но не имею никакой удачи.

Я могу перезапустить вручную без проблем, с помощью service php5-fpm restart или /usr/sbin/service php5-fpm restart

Однако, когда я использую ту же команду, включая использование полного пути к /usr/sbin/service, ничего не происходит. cronjob действительно работает (как я вижу из системного журнала), но PHP5-FPM не перезапускает.

Соответствующая строка crontab моего пользователя root смотрит следующим образом:

* * * * * /usr/sbin/service php5-fpm restart

Я подтвердил с which service то, что путь к сервису действительно /usr/sbin/service.

Почему это не работает?

1
задан 9 April 2014 в 12:41
3 ответа

Единственное решение, которое я могу придумать, - это закомментировать следующие строки в файле /etc/init.d/php5-fpm:

# Don't run if we are running upstart
#if init_is_upstart; then
#    exit 1
#fi
-1
ответ дан 4 December 2019 в 08:39

Вы можете использовать initctl :

/sbin/initctl  restart php5-fpm
1
ответ дан 4 December 2019 в 08:39

Поздний ответ партии

cron запускает скрипты в очень легкой среде.

service действительно проверяет, является ли сервис init upstart или /etc/init. скрипт d, и в этом случае выполнит команду

[ /sbin/ ] restart

(сим-ссылка на initctl), но он не работает, потому что путь /sbin не является частью PATH, когда cron выполняется и restart дается без его абсолютного пути. На самом деле

можно было бы установить PATH для cron в начале crontab, но лучше установить нужную команду напрямую, так как

m h * * * /sbin/restart php5-fpm


Примечание
использовать симлинк /sbin/restart вместо прямого вызова initctl. Скрипты/команды здесь по какой-то причине, в основном, для того, чтобы помочь администратору с командами, выполняющими что-то конкретное, простой синтаксис, и имеющими легко запоминающееся имя.

Сегодня restart - это симлинк. Завтра она может превратиться в скрипт, выполняющий другие действия перед вызовом initctl.

.
0
ответ дан 4 December 2019 в 08:39

Теги

Похожие вопросы