Actualizar Linux automáticamente con Cron

⌛ Lectura estimada: 2 minutos

En este pequeño apartado os voy a enseñar a cómo crear un script para actualizar el sistema automáticamente sin necesidad de escribir cada vez la famosa orden de: “sudo apt-get update && sudo apt-get upgrade“, esto lo conseguiremos con cron, un programador de tareas. (se puede instalar así: sudo apt-get install cron )

Bien, vamos allá.

1. Creamos el script de Bash, por ejemplo en nuestro /home/

user@user:~$ sudo nano auto-update.sh


Y añadimos lo siguiente:

#!/bin/bash

# Actualizamos la base de datos de APT, descargamos e instalamos los paquetes,
# removemos los paquetes innecesarios, limpiamos la caché de APT
# y enviamos los mensajes de salida y errores al archivo auto_update.log

(apt-get update && apt-get upgrade -y && apt-get autoremove && apt-get clean) 2>&1 >> /var/log/auto_update.log
 
 
Guardamos con Ctrl + O y cerramos con Ctrl + x,
2. Le otorgamos permisos al script creado.
user@user:~$ sudo chmod +x auto-update.sh

3. Probamos que funcione ejecutándolo y verificando la salida en el fichero auto-update.log.

user@user:~$ sudo ./auto-update.sh
user@user:~$ tail -f /var/log/auto-update.log
Que nos saldría algo similar a esto:

……..
……..
Hit http://ppa.launchpad.net lucid/main Packages
Hit http://ppa.launchpad.net lucid/main Packages
Hit http://ppa.launchpad.net lucid/main Packages
Hit http://ppa.launchpad.net lucid/main Packages
Hit http://ppa.launchpad.net lucid/main Packages
Hit http://ppa.launchpad.net lucid/main Packages
Reading package lists…
Reading package lists…
Building dependency tree…
Reading state information…
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

4. Crear la tarea con cron, en mi caso programada para que se ejecute a las 17.00 todos los días.
user@user:~$ sudo nano /etc/crontab
Y añadimos la siguiente línea al final del documento.

0 17 * * * root /home/davidcreus/auto-update.sh

Perfecto, una cosa menos de que preocuparnos en Linux ;)!

Deja un comentario

Su dirección de correo electrónico no será publicada. Campos necesarios *