У меня есть простая запись 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