Sou meio novo no Linux e acabei de aprender sobre como agendar tarefas com o cron. Eu tenho este pequeno script de shell que tenho usado manualmente até agora:
sudo apt-get check && sudo apt-get update && sudo apt-get upgrade && sudo apt-get autoremove && sudo apt-get autoclean
Agora quero agendar usando o cron para não fazer isso manualmente todos os dias, mas parece que não consigo. Suponho que seja porque requer minha senha sudo para continuar. Existe alguma maneira de fazer isso funcionar sem aceitar automaticamente as atualizações e assim por diante?
Responder1
É uma ideia melhor usar "atualizações autônomas".
Seu objetivo é manter o computador atualizado automaticamente com as atualizações de segurança mais recentes (e outras).[1]
Para instalar:
sudo apt install unattended-upgrades
Leia mais sobre como fazer isso funcionar:aqui.
Para resolver sua dúvida, você pode editar /etc/crontab
o arquivo e executar seus comandos usando root
o usuário sem a necessidade de usar sudo
seu próprio arquivo "crontab".
nano /etc/crontab
e adicione uma linha como:
45 21 * * * root apt-get update > /home/ravexina/out.log
que é executado apt-get update
usando root
o usuário às "21:45" todas as noites e registra a saída em /home/ravexina/out.log
.