Finalmente he liberado la última versión de mi sistema de actualización de servidores en paralelo, y al mismo tiempo lo he bautizado como "updatemyfarm" (actualiza mi granja, en español). Elegí el término "granja" porque creo representa mejor el sentido de heterogeneidad. Este script apunta a aquellos entornos con diferentes distribuciones y versiones, donde otras soluciones pueden tener problemas de compatibilidad a causa de las plataformas que utilizan. Por otro lado no está orientado a clusters, aunque podría utilizarse perfectamente para este fin.

Esta última versión cuenta con varias correcciones de bugs y muchas mejoras, ya que ahora el proceso se realiza completamente en paralelo: primero se actualizan los repositorios de los sistemas basados en Debian; luego se ofrece al usuario el listado de servidores con actualizaciones disponibles; y finalmente se lanzan todas las actualizaciones al mismo tiempo.

Pueden descargar una copia del mismo desde su repositorio en GitHub: linuxitux/updatemyfarm



El instructivo para la configuración de los servidores está en inglés y puede que haya errores sintácticos y gramaticales. Por supuesto acepto todo tipo de correcciones y colaboraciones en el código del script.

Desde que comencé su desarrollo ha ido evolucionando y en este momento creo está en una fase estable. A quien se anime le recomiendo que lo pruebe, yo llevo usándolo ya un par de años en servidores en producción sin ningún tipo de problemas. Los únicos problemas con los que me he encontrado son aquellos casos en los que falla algún mirror, aunque en estas situaciones el script captura el error correctamente y sigue adelante ignorando el servidor en cuestión (y mostrando un mensaje adecuado en la salida).

En esta última versión además se indica, en tiempo real (cada 2 segundos), el listado de los servidores en los que aún se está trabajando.

A futuro estoy pensando en la posibilidad de intercambiar entre la salida de la actualización en cada servidor, para tener una noción bien clara de lo que está pasando. Claro está que el script muestra, al final de la corrida, la salida de todos los servidores que se han actualizado. Pero sería más interesante poder verlo "en vivo", intercambiando entre cada uno de los servidores que se están actualizando, utilizando una tecla para moverse entre las diferentes salidas.

Este esquema de autenticación con clave pública más sudo, permite además replicar su funcionalidad para automatizar otro tipo de tareas, no sólo actualizar múltiples sistemas.

Artículos anteriores

Mejorando mi sistema de actualización de servidores

Sysadmin vago: cómo actualizar todos los servidores de tu organización ejecutando un único comando


Tal vez pueda interesarte


Compartí este artículo