Nota che inserire la tua password in chiaro in un file di testo non è una buona idea, quindi è meglio avere questo lavoro eseguito come root fin dall'inizio. Di solito, piuttosto che modificare il crontab di root tramite il crontab
comando, che lascia le voci in /var/spool/cron/crontabs
una posizione un po 'criptica, preferisco inserirle in modo esplicito /etc/cron.d
. Le voci in cron.d vengono eseguite come voci crontab di sistema, vengono trattate come file di configurazione, quindi devono sopravvivere a riavvii, aggiornamenti e upgrade di sistema e puoi specificare esplicitamente l'utente in esecuzione:
echo "0 3 * * * root /sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.d/reboot-at-3-am
Se non hai bisogno di un orario specifico, ma piuttosto, vuoi solo che il sistema si riavvii una volta al giorno, aggiungi un eseguibile o uno script /etc/cron.daily
e verrà eseguito automaticamente a un orario prestabilito (6:25 ora di sistema per impostazione predefinita):
echo "/sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.daily/reboot-me
Nota che invece di riavviare il sistema senza preavviso, sto impostando un avviso di 5 minuti, quindi se qualcuno ha effettuato l'accesso, hanno la possibilità di salvare il proprio lavoro o addirittura interrompere l'arresto sudo shutdown -c
, piuttosto che far tirare il sistema fuori da sotto di loro. È possibile modificarli di conseguenza, se si desidera dare un avviso più ampio (ad esempio, utilizzare shutdown -h 60
ed eseguire il comando alle 2:00 AM e dare agli utenti un generoso avviso di 1 ora).
Questo si basa sulla mia esperienza passata; ad un certo punto si sarà effettuato il login a lavorare quando le piste di entrata crontab, e se solo si riavvia senza preavviso, sarai un molto triste panda.
echo $PASSWD