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

Как я могу остановить службу systemd с помощью cron?

У меня есть простая запись crontab, которая должна останавливать службу, но она не работает.

* * * * * systemctl stop nginx

Я даже пробовал:

* * * * * /bin/systemctl stop nginx

Поскольку это не расположение systemctl, которое показывает команда.

Эта строка работает с пользователем root, но не работает с crontab root.

Под неработающей я подразумеваю, что служба не закрывается. Я могу подтвердить, что сервер все еще работает, а статус nginx в systemctl показывает, что он активен.

Что я делаю не так?

Вероятно, потому что вы не сказали cron использовать root.

* * * * * root /bin/systemctl stop nginx

Это будет выполнять команду каждую минуту, независимо от статуса nginx (запущен или нет)

Итак, как уже было сказано, если цель - убедиться, что nginx никогда не запускается, почему бы просто не отключить его?

systemctl disable nginx

== Редактировать ==

Хорошее замечание, сделанное Аароном Копли в комментариях, чтобы убедиться, что nginx не запускается даже после загрузки, команда должна быть;

systemctl mask nginx