Перейти к содержимому

общесистемный crontab против пользовательского crontab для выключения ПК

4

Я пытаюсь выключить свой компьютер в 2 часа ночи один раз в неделю.

Если я использую пользовательский crontab root (sudo crontab -e)

30 2 * * 3 shutdown -h now 

выключение не будет выполнено.

Однако, если я помещу ту же команду для root в системный crontab (sudo vim / etc / crontab), компьютер выключится:

30 2 * * 3 root shutdown -h now 

Какая разница? Оба раза root собирается выключить мой компьютер. Почему он работает только если он находится в общесистемном crontab?

1 171 просмотр
Philippe спросил 13 лет назад
P 582

1 ответ

4
Принятый ответ

In theory either should work. I think you will find the difference is in the PATH. Your version may differ, but in my /etc/crontab there is a PATH line at the top which includes /sbin in it (and my shutdown is in /sbin).

I think you will find that when CRON is executed for the root user it does not have a path associated with it, so it is not working. Change the command to

30 2 * * 3 root /sbin/shutdown -h now 

And I suspect that will solve your problem.

Работает! Только что вернулся из моей перезагрузки ... Должно быть, часть / sbin / отсутствует. Обратите внимание, что в user-crontab для root поле пользователя не указано. То есть строка гласит: 30 2 * * 3 / sbin / shutdown -h сейчас

Philippe · 13 лет назад · 0
davidgo ответил 13 лет назад
D 41 512