Pamiętaj, że umieszczenie hasła w postaci zwykłego tekstu w pliku tekstowym nie jest dobrym pomysłem, dlatego najlepiej jest uruchamiać to zadanie jako root od samego początku. Zwykle zamiast edytowania pliku crontab roota za pomocą crontab
polecenia, które pozostawia wpisy w /var/spool/cron/crontabs
nieco tajemniczej lokalizacji, wolę wprowadzić je wprost /etc/cron.d
. Wpisy w pliku cron.d są uruchamiane jako wpisy w systemie crontab, są traktowane jako pliki konfiguracyjne, dlatego powinny przetrwać ponowne uruchomienie systemu, aktualizacje i aktualizacje, a użytkownik może jawnie określić działającego użytkownika:
echo "0 3 * * * root /sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.d/reboot-at-3-am
Jeśli nie potrzebujesz określonego czasu, a po prostu chcesz, aby system uruchamiał się ponownie raz dziennie, dodaj plik wykonywalny lub skrypt /etc/cron.daily
i będzie on automatycznie uruchamiany o określonej godzinie (domyślnie czas systemowy 06:25):
echo "/sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.daily/reboot-me
Zauważ, że zamiast po prostu restartować system bez ostrzeżenia, ustawiam 5-minutowe ostrzeżenie, więc jeśli ktoś jest zalogowany, ma szansę zapisać swoją pracę, a nawet przerwać zamykanie sudo shutdown -c
, zamiast ściągać system zejść spod nich. Możesz odpowiednio je dostosować, jeśli chcesz dać więcej obszernych ostrzeżeń (na przykład użyj shutdown -h 60
i uruchom polecenie o 2:00 rano, a otrzymasz hojne ostrzeżenie 1-godzinne).
Jest to oparte na moich przeszłych doświadczeniach; w pewnym momencie będzie można zalogować się w pracy, gdy crontab biegnie wpis, a jeśli to tylko restartuje bez ostrzeżenia będziesz bardzo smutny panda.
echo $PASSWD