Hace unos días vimos cómo actualizar ubuntu automáticamente con APT y Cron, ya que como administradores de sistemas tenemos muchas tareas que hacer, y GNU/Linux tiene una amplia gama de herramientas para ayudarnos a hacer esas tareas lo más automatizadas posible. Entre ellas tenemos los scripts de Bash y los comandos at y cron. De estas cron y los scripts constituyen el dúo más utilizado entre los administradores. Y es que cron, utilizando scripts o no, en verdad nos hace la vida más cómoda cuando lo sabemos utilizar.
A continuación veremos como programar una tarea en cron para actualizar los paquetes del sistema. El mismo procedimiento podría utilizarse para otras distros tomando en cuenta la aplicación de CLI que utilizan para actualizar los paquetes del sistema y haciendo los ajustes necesarios. Todo esto lo haremos con YUM, el gestor de paquetes por defecto en Fedora, CentOS, Red Hat y otros.
Manos a la obra...
Nota: Ya que el daemon cron es ejecutado por root, no es necesario utilizar sudo en los comandos.
Creamos el script de Bash, por ej. en nuestro /home/
fraterneo@rainbow:~$ nano auto-update.sh
#!/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
(yum update -y && yum clean expire-cache && yum clean packages && exit) 2>&1 >> /var/log/auto_update.log
Le otorgamos permisos de ejecución al script:
fraterneo@rainbow:~$ sudo chmod +x auto-update.sh
Probamos que funcione correctamente ejecutándolo y verificando la salida en el fichero auto_update.log:
fraterneo@rainbow:~$ sudo ./auto-update.sh
fraterneo@rainbow:~$ tail -f /var/log/auto-update.log
........
........
perl-threads i686 1.81-1.fc13 updates 46 k
python-crypto i686 2.1.0-1.fc13 fedora 313 k
python-markupsafe i686 0.9.2-3.fc13 updates 22 k
report-config-ftp i686 0.20-0.fc13 updates 14 k
report-plugin-ftp i686 0.20-0.fc13 updates 17 k
tcl i686 1:8.5.8-1.fc13 updates 1.9 M
usb_modeswitch-data noarch 20100817-1.fc13 updates 38 k
Transaction Summary
================================================================================
Install 21 Package(s)
Upgrade 501 Package(s)
Total size: 347 M
Total download size: 286 M
Downloading Packages:
Setting up and reading Presto delta metadata
Processing delta metadata
Download delta size: 63 M
Crear la tarea en cron, para que por ej. ejecute el script todos los días a las 2 de la mañana:
Agregamos la siguiente línea al final del fichero crontab:
fraterneo@rainbow:~$ sudo nano /etc/crontab
0 2 * * * root /home/fraterneo/auto-update.sh
Y todo listo! Ya tenemos un trabajo menos que realizar manualmente!
No hay comentarios:
Publicar un comentario