Comunidad de diseño web y desarrollo en internet online

Shell script para verificar que MySQL esté siempre activo

Hola, en este tutorial quiero compartirles un pequeño script que me ayudó mucho con un VPS con poca memoria ram y un poco de tráfico. El script ayuda a no preocuparte si tu servicio de MySQL está activo o se quedó sin memoria, la idea es verificar cada dos minutos (este tiempo puedes cambiarlo en tu cronjob) y si en efecto el script detecta que esta caído, el servicio procede a reiniciarlo para que todo vuelva a la normalidad.



Es recomendable también reiniciar servicios como apache, nginx o php-fpm si los tienes corriendo para liberar memoria ram y luego de esto reiniciar MySQL.

Lo creamos en donde queramos por ejemplo en /home/verificarmysql.sh

Código :

#!/bin/bash
/usr/bin/mysqladmin ping -pCLAVEMYSQLDEROOT| grep 'mysqld is alive' > /dev/null 2>&1
if [ $? != 0 ]
then
    sudo /etc/init.d/apache2 restart;
    sudo /etc/init.d/nginx restart;
    sudo /etc/init.d/php-fpm restart;
    sudo /etc/init.d/mysql restart;
fi


Ahora lo colocamos en nuestro crontab -e

Código :

*/2 *   * * *   root    sh /home/mysqlisalive.sh


Con esto podemos estar tranquilos de que nuestra base de datos siempre va a estar activa.

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

El autor de este artículo ha cerrado los comentarios. Si tienes preguntas o comentarios, puedes hacerlos en el foro

Entra al foro y participa en la discusión

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate