crontab dla całego systemu vs. crontab użytkownika do zamknięcia komputera

4

Próbuję zamknąć komputer o 2 w nocy raz w tygodniu.

Jeśli użyję crontab użytkownika root (sudo crontab -e)

30 2 * * 3 shutdown -h now

wyłączenie nie zostanie wykonane.

Jeśli jednak umieszczę tę samą komendę dla roota w ogólnosystemowym crontab (sudo vim / etc / crontab) komputer się wyłączy:

30 2    * * 3   root    shutdown -h now

Co za różnica? Za każdym razem root wyłączy mój komputer. Dlaczego działa tylko wtedy, gdy znajduje się w ogólnosystemowym crontabie?

Philippe
źródło

Odpowiedzi:

4

Teoretycznie albo powinno działać. Myślę, że zauważysz różnicę w ŚCIEŻCE. Twoja wersja może się różnić, ale w moim / etc / crontab znajduje się wiersz PATH na górze, który zawiera / sbin w nim (a moje zamknięcie to w / sbin).

Myślę, że przekonasz się, że kiedy CRON jest wykonywany dla użytkownika root, nie ma z nim powiązanej ścieżki, więc nie działa. Zmień polecenie na

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

Podejrzewam, że to rozwiąże twój problem.

Davidgo
źródło
Pracuje! Właśnie wróciłem z mojego restartu ... Musi być brakujący / sbin / -part. Zauważ, że w crontab użytkownika dla roota, pole użytkownika nie jest określone. Czyli wiersz brzmi: 30 2 * * 3 / sbin / shutdown -h now
Philippe