Vamos utilizar o crontab, que é o gerenciador de tarefas agendadas do *ux (Linux, Unix e parentes).
Crie um arquivo com o conteúdo a seguir:
sudo -i
nano ~/update.sh
#! /bin/sh apt-get update apt-get upgrade -y
Salve e feche com F2. Para testar, digite:
chmod +x ~/update.sh
~/update.sh >> ~/update.log
tail ~/update.log
Agora, dê permissão ao seu usuário para que ele execute o crontab:
nano /etc/cron.allow
Dentro do arquivo, insira os usuários que terão acesso ao cron, um por linha, incluindo o root se precisar.
Teste com crontab -e. Possivelmente irá aparecer um arquivo com a linha abaixo:
# m h dom mon dow command
Adicione no arquivo:
0 0 * * * ~/update.sh >> ~/update.log
Novamente F2 para salvar e fechar e pronto. Você tem um agendamento para que todo dia a meia noite o Ubuntu atualize sua lista de pacotes e execute um upgrade automático. Nem o Windows Update faz melhor, hein?
Caso você queira saber se ocorreu algum problema, basta olhar o arquivo update.log. Ele contém todas as informações do que aconteceu. E caso você queira que ele mantenha somente a última execução, basta substituir o >> por > no agendamento do crontab.
That’s all, geeks.
Update as 21h00: Meu script acabou de rodar (é meia noite no servidor). Funcionou \o/.
Escrito por Developer