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

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

* * * * * systemctl stop nginx

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

* * * * * /bin/systemctl stop nginx

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

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

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

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

2
задан 4 December 2018 в 22:29
1 ответ

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

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

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

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

systemctl disable nginx

== Edit ==

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

systemctl mask nginx
5
ответ дан 3 December 2019 в 09:31

Теги

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