Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Script para monitorizar y reiniciar automáticamente el servidor de base de datos mysql en caso de fallo

Imago voragine.net

Hay programas que permiten monitorizar todo un sistema y reiniciar los servicios que se paran o fallan de manera inesperada, todo esto automáticamente. Es el caso de monit, un programa que se ejecuta en segundo plano (daemon) eficaz y que no consume muchos recursos.

Sin embargo hay veces que es más rápido y ligero hacer un pequeño script de bash y ejecutarlo periódicamente con cron. Esto es exactamente lo que he hecho para monitorizar el servidor de base de datos de uno de mis servidores web y reiniciarlo en caso de que se pare. El script:

#!/bin/bash
# check if server services are running
# and restart them if not
#
# check mysql server
if [ ! -f /var/run/mysqld/mysqld.pid ];
        then /etc/init.d/mysql start;
fi

Luego debemos añadir script al listado de tareas periódicas del usuario root, bien mediante crontab -e bien directamente en /etc/crontab, ya que iniciar o parar servicios como mysql requiere los privilegios de root para ejecutarse. Por supuesto el archivo debe tener permisos de ejecución.

Dejar un comentario

No hay comentarios en esta entrada.
*
*

 

No hay trackbacks