У меня есть простая запись crontab, которая должна остановить службу, но это не работает.
* * * * * systemctl stop nginx
Я даже пробовал:
* * * * * /bin/systemctl stop nginx
Поскольку это не местоположение systemctl, которое показывает команда.
Эта строка работает с пользователем root, но не работает с crontab root.
Под неработающей я подразумеваю, что служба не закрывается. Я могу подтвердить, что сервер все еще работает, и nginx показывает, что он активен.
Что я делаю не так?
Вероятно, потому что вы не сказали cron использовать root.
* * * * * root /bin/systemctl stop nginx
Это будет выполнять команду каждую минуту, независимо от статуса nginx (запущен или нет)
Итак, как говорится , если цель - убедиться, что nginx никогда не запускается, почему бы просто не отключить его?
systemctl disable nginx
== Edit ==
Хорошее замечание, сделанное Аароном Копли в комментариях, чтобы убедиться, что nginx даже не запускается после загрузки команда должна быть:
systemctl mask nginx