Agendar para que los servidores GNU/Linux se apaguen a una hora específica

Como se están haciendo obras en las calles cercanas al Edificio Libertad que afectan el suministro eléctrico de varias manzanas, debimos "agendar" para que los servidores se apaguen solos y así no obligar a una persona a que deba hacer esta tarea.

En pleno siglo XXI sería lamentable que alguien tuviera que venir personalmente para apretar un botón. También existen alternativas más modernas, como conectarse remotamente para correr un "halt" en cada uno de los servidores, pero si hay que hacerlo muy temprano (6am) y en días inconvenientes (sábado), estaríamos nuevamente dependiendo de una persona para hacerlo (que puede olvidarse, dormirse, etc).

La mejor forma es hacerlo con un "comando planificado", aunque se puede efectuar perfectamente desde la línea de comandos (comando "at", ver "man at"), voy a aprovechar la oportunidad para publicitar Webmin, que facilita enormemente la administración de cualquier servidor GNU/Linux.

Pragmático versus Dogmático

Con los años he hecho las mismas cosas que todos los "linuxeros": pasarme la vida configurando "cosas" que en otros sistemas operativos se hacen de forma "automática".

Ok, estoy de acuerdo que siempre es mejor contar con la libertad de poder hacerlo a nuestra manera y no depender de un proveedor de software, pero con los años "mi fanatismo a madurado" y estoy viejo para seguir perdiendo tiempo en tareas "manuales" y"rutinarias". Prefiero perder el tiempo con tareas que sí lo valen, es decir, que ofrecen valor agregado y se convierten en un "diferenciador".

Webmin, la aplicación web de administración GNU/Linux

Luego de muchos años de buscar y probar, la aplicación que terminé adoptando para mi vida diaria de administrador es Webmin. Simple, sencilla, y fundamental, funciona -sin importar que luego modifiquemos los archivos a mano- en la mayoría de las distribuciones, en la mayoría de las versiones.


Ingreso al sistema a través de una interfaz web que responde por el puerto 10000. También se puede configurar para que acepte conexiones encriptadas (https) y así asegurar la transmisión de claves a través de Internet (no te olvides que ingresar remotamente a través de http es gritar la clave en público).


Menú de acceso al sistema: debemos seleccionar la opción "Sistema" del menú superior, y la opción para planificar comandos del servidor es la que aparece en la esquina inferior derecha de la captura de pantalla : "Comandos Planificados".

Los datos que se necesitan son:
  • Usuario que va a ejecutar el comando: en este caso como es un comando del sistema será el propio administrador (root).
  • Fecha y hora de ejecución: lo que no hay que olvidar de controlar que la hora del servidor esté correcta.
  • El directorio donde se quiere hacer la ejecución: esto se debe a que la ejecución la inicia un proceso "cron" y este ejecutará el comando en su propio "contexto", y no necesariamente es el mismo que siempre usamos. Tal vez necesitemos decirle donde se encuentra el comando, o si nuestro comando se puede ejecutar desde cualquier lado, donde obtener los archivos que necesita para trabajar, etc.


Resultado de la finalización del ingreso del comando a planificar. Posteriormente a esta tarea, hay que revisar el log del sistema para verificar si todo ejecutó correctamente. Si hubiera fallado esta planificación, tal vez los servidores fueron abruptamente detenidos por el corte de corriente, por lo que habría que controlar, si hubieran, los daños.

Diferencia entre "at" y "cron"

En Unix o GNU/Linux es muy común usar el daemon "cron" para planificar ejecuciones de scripts de mantenimiento de servidores. Pero en este caso, lo más conveniente es usar una planificación "puntual" con el "at" (escondido detrás del a interfaz del webmin). Aunque el "cron" permite hacer las mismas planificaciones (1 día, 1 hora, que luego no se necesita repetir), quedaría esta línea obsoleta en el archivo de configuración de tareas. Con "at", planificas una vez, y luego de ejecutar el comando, desaparece de la configuración, haciéndolo ideal para casos puntuales com este.

¡Suerte!

Actualización inmediata (pocos segundos después): soy el colmo, publico el "post" y a los segundos tengo cosas para agregar ;-). Me estaba acordando un detalle: si tuvo que venir una persona hasta los servidores y presionar el botón, lo cual es inevitable hasta que no se invente alguna tecnología que lo permita (si existe, avisen).

La otra alternativa sería tener conectado a las ups y que estas avisaran cuando se quedan sin energía y hacer un "shutdown" y cuando recuperaran la carga, hacer un "init". Pero en nuestras actuales condiciones de hardware y software no es viable hacerlo.

Alguna vez sentí la frase: "La perfección es enemigo de lo bueno" ;-)

No hay comentarios.:

Entradas populares