Programar o script apt-get usando o cron

3

Sou meio novo no Linux e acabei de aprender sobre o agendamento de tarefas com o cron. Eu tenho este pequeno script de shell que eu 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 que não faça isso manualmente todos os dias, mas parece que não consigo fazer isso. Eu suponho que é porque requer minha senha sudo para prosseguir? Existe alguma maneira de fazer isso funcionar sem aceitar automaticamente as atualizações e assim por diante?

    
por Alexandru Banu 08.06.2017 / 23:57

1 resposta

5

Em vez disso, é melhor usar "atualizações autônomas".

  

Sua finalidade é manter o computador atualizado com as mais recentes atualizações de segurança (e outras) automaticamente. [1]

Para instalar:

sudo apt install unattended-upgrades

Leia mais sobre como fazê-lo funcionar: aqui .

Para resolver sua dúvida, você pode editar o arquivo /etc/crontab e executar seus comandos usando root user sem a necessidade de usar sudo no seu próprio arquivo "crontab".

nano /etc/crontab

e adicione uma linha como:

45 21 * * * root apt-get update > /home/ravexina/out.log

que executa apt-get update usando root user em "21:45" todas as noites e registra a saída em /home/ravexina/out.log .

    
por Ravexina 09.06.2017 / 00:03