Soy un poco nuevo en Linux y acabo de aprender a programar tareas con cron. Tengo este pequeño script de shell que he estado usando manualmente hasta ahora:
sudo apt-get check && sudo apt-get update && sudo apt-get upgrade && sudo apt-get autoremove && sudo apt-get autoclean
Ahora quiero programarlo usando cron para no hacerlo manualmente todos los días, pero parece que no puedo hacerlo. Supongo que es porque requiere mi contraseña de sudo para continuar. ¿Hay alguna forma de que esto funcione sin aceptar automáticamente las actualizaciones, etc.?
Respuesta aceptada:
Es una mejor idea usar "actualizaciones desatendidas" en su lugar.
Su propósito es mantener la computadora actualizada con las últimas actualizaciones de seguridad (y otras) automáticamente. [1]
Para instalar:
sudo apt install unattended-upgrades
Lea más sobre cómo hacer que funcione:aquí.
Para abordar su pregunta, puede editar /etc/crontab
archivo y ejecute sus comandos usando root
usuario sin necesidad de usar sudo
en su propio archivo "crontab".
nano /etc/crontab
y agregue una línea como:
45 21 * * * root apt-get update > /home/ravexina/out.log
que ejecuta apt-get update
usando root
usuario a las "21:45" todas las noches y registra la salida en /home/ravexina/out.log
.