Portada > Utilidades > Actualizaciones semi automáticas en Debian y Ubuntu

Actualizaciones semi automáticas en Debian y Ubuntu

25 de Mayo, 2009

Como ya hemos comentado, es importante tener actualizado nuestro servidor, sobre todo si estas actualizaciones están relacionadas con la seguridad del mismo. En el caso de Debian/Ubuntu directamente podríamos realizar un pequeño script que ejecutara un aptitude update && aptitude upgrade cada 3 horas, por ejemplo. Sin embargo no es algo que recomiende ya que (quizá sea paranoia mía) ¿ y si alguna de estas actualizaciones nos estropea algo del servidor ?

Sería interesante saber cuando hay actualizaciones disponibles para posteriormente entrar a mano y realizarlas bajo nuestra supervisión de forma manual. Para ello he elaborado un script de gran sencillez cuyo cometido es el de actualizar la lista de paquetes disponibles en Debian/Ubuntu y posteriormente realizar una simulación de actualización del sistema, en caso de que se necesite descargar algo nos avisa mediante correo electrónico.

El contenido del script es el siguiente:

#!/bin/bash
LOGFILE=/tmp/log_aptitude
aptitude update  > $LOGFILE
aptitude -sy upgrade >> $LOGFILE
grep -q "Necesito descargar 0B" $LOGFILE
if [ $? -eq 1 ]
then
      cat $LOGFILE | mail -s "Se necesita actualizar el servidor" mi@correo.com
fi

Sustituyendo mi@correo.com por nuestra dirección de correo electrónico donde recibir las notificaciones.
Para añadirlo al crontab de forma que se ejecute cada 3 horas habría que ejecutar como root

crontab -e

y añadir la siguiente línea:

0 */3 * * * /root/scripts/aptupdates

Una vez hecho esto en el momento en que haya alguna actualización pendiente de realizar se nos informarán por correo, evitando así tener que entrar periódicamente al servidor y comprobar esto de forma manual.

Utilidades , , , , ,

  1. ANPez
    25 de Mayo, 2009, 01:11 | #1

    Muy buena idea la del script, lo he optimizado un poco para que tambien sirva en inglés y ahorrar el fichero temporal.
    output=$(apt-get update && apt-get -sy upgrade | grep -q '^Inst [[:alnum:].-]* ')
    if [ $? -eq 0 ]
    then
    echo "$output" | mail -s "Se necesita actualizar el servidor" mi@correo.com
    fi

  2. 25 de Mayo, 2009, 01:14 | #2

    Buen aporte, gracias.

  3. luigy
    14 de Julio, 2009, 01:30 | #3

    Un gran aporte la verdad me ha venido muy bien, gracias

  1. No trackbacks yet.