Observe que colocar sua senha de texto não criptografado em um arquivo de texto não é uma boa ideia; portanto, é melhor executar esse trabalho como root desde o início. Normalmente, em vez de editar o crontab da raiz por meio do crontab
comando, que deixa as entradas em /var/spool/cron/crontabs
um local um tanto enigmático, prefiro inseri-las explicitamente /etc/cron.d
. As entradas no cron.d são executadas como entradas do sistema crontab, são tratadas como arquivos de configuração, para que possam sobreviver a reinicializações, atualizações e upgrades do sistema, e você pode especificar explicitamente o usuário em execução:
echo "0 3 * * * root /sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.d/reboot-at-3-am
Se você não precisa de um horário específico, apenas deseja que o sistema seja reiniciado uma vez por dia, adicione um executável ou script /etc/cron.daily
e ele será executado automaticamente em um horário predeterminado (06:25, horário do sistema por padrão):
echo "/sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.daily/reboot-me
Observe que, em vez de apenas reiniciar o sistema sem aviso prévio, estou definindo um aviso de 5 minutos; portanto, se alguém estiver conectado, poderá salvar seu trabalho ou até interromper o desligamento sudo shutdown -c
, em vez de interromper o sistema fora debaixo deles. Você pode ajustá-los adequadamente, se desejar dar um aviso mais amplo (por exemplo, use shutdown -h 60
e execute o comando às 2:00 da manhã e você dará aos usuários um aviso generoso de 1 hora).
Isso é baseado na minha experiência passada; em algum momento você estará logado trabalhando quando a entrada crontab for executada e, se ela apenas reiniciar sem aviso, você será um panda muito triste.
echo $PASSWD