Script para reiniciar servicios caídos.

Muchas veces hay procesos que tenemos colgados o se estopean debido a algún error, y nos damos cuenta de que el mismo se detuvo cuando ya tenemos el problema arriba.
Esto es una constante, los servicios de un servidor, más cuando interaccionan con algún panel de control tipo cPanel, se autogestionan y son reiniciados estopeados parados automáticamente.

En algunos casos este proceso de control puede fallar y nos queda un servicio colgueti o esperando alguna acción, cosa que nos daremos cuenta ante el reclamo de algún cliente o ante la mirada aguda sobre el sistema (cosa que no siempre se puede hacer)

Existe una manera fácil y práctica de reiniciar aquellos servicios que se cayeron, mediante un script shell

Vamos a ello:

1) Eligiremos el servicio a monitorizar, hacemos uso del Mysql como enejmplo en este caso:

# vi verificar_myslq.sh
#!/bin/bash
RESTART="/etc/init.d/mysqld restart"
PGREP="/usr/bin/pgrep"
MEMCACHED="mysqld"
# buscamos que exista el proceso
$PGREP ${mysqld}
# sino existe id de proceso y el comando anterior devuelve 0
if [ $? -ne 0 ]
then
# restablecemos mysql y enviamos un email
$RESTART | mail -s "Se reinició Mysql `date "+%c"`" mail@soyadmin.com
fi

El funcionamiento el script es el siguiente: se hace un chequeo sobre el servicio seleccionado, si el mismo devuelve que esta activo, continua y no hace nada.
En el caso de que el chequeo devuelva que el servicio está stop, se lo reinicia y envía un email.

2) Creamos un cron para el script, con ejecución cada 10 minutos:

# crontab -e
*/10 * * * *  /bin/sh /root/shell_scripts/verify_myslq.sh

Mauro

Soy Mauro de Argentina, tengo 37 años y desde que tengo uso de razón estuve husmeando y rompiendo PC’s. La primer PC de la familia una PC-AT, la cual tenía una memoria ROM de 40KB y una memoria RAM de 64KB y un procesador Intel 8088 de 16 bit, vivía más en lo del técnico que en casa, todo porque siempre estaba ahí mandándole mano. Desde esa base no paré, arranque desde DOS, probé todos los Windows, pasé y reparé miles de PC de escritorio, trabajé en Servidores Unix, Linux y Windows y soy un fanático del Mundo Linux, del Software Libre y todo lo que rodea y engloba. He pasado todas las manías del Informático, maniático de la seguridad, distrohopper empedernido y amante de la tecnología. Me considero Administrador de Servidores, me gusta todo lo relacionado a la Tecnología e Informática, Linuxero por curiosidad (casa) y Windowsero por necesidad (trabajo). Me encanta compartir lo que aprendo y difundir las cosas que me parecen interesantes, claro que siempre están relacionadas al mundo computacional.- Todas las publicaciones son escritas respetando Vivencias Propias, Artículos Interesantes leídos o Investigaciones realizadas en el transcurso de mi tarea diaria, lectura o simplemente curiosidad. La idea es poder compartir el contenido, buscando ayudar a los que están en aprietos y poder realizar la cadena de Aprender/Compartir/Resolver.

También te podría gustar...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.