Reiniciar Mysql automàticament quan cau

Si estàs començant a utiltizar una màquina virtual o un servidor VPS amb pocs recuros, serà habitual que en algun moment caigui el servidor MySQL i que a partir de llavors les diferents pàgines web que tinguis en el teu servidor quedin fora de servei.   He trobat un petit script que et permet “controlar” l’estat del teu servei Mysql, de manera que si el detecta “aturat”, el reinicia i t’envia un correu electrònic.

Segurament l’script seria millorable però a mi de moment m’està resultant útil i el comparteixo aquí­:

Primer de tot crearem un arxiu:

vi MonitoritzacioMysql.sh

I copiarem el següent contingut:

****
#!/bin/bash
/usr/bin/mysqladmin ping -pLATEVACONTRASSENYA| grep ‘mysqld is alive’ > /dev/null 2>&1
if [ $? != 0 ]
then
sudo /etc/init.d/apache2 restart;
sudo /etc/init.d/php-fpm restart;
sudo /etc/init.d/mysql restart;
echo MysqlReiniciat | mail -s AlertaMySQL elteumail@domini.cat
fi

En aquest script estarem primer de tot validant que el servei mysqld estigui viu. Si és així­ no farà res. En cas contrari ens reiniciarà l’apache, el php i el mysql.  A més, ens enviarà un correu electrònic a la nostre bústia. Serà important que tinguem instal·lat en el nostre equip VPS la utilitat mail (apt-get install mailutils).

Un cop fet això, caldrà donar-li permisos d’execució a l’arxiu que hem creat:

chmod +x MonitoritzacioMysql.sh

I per últim, modificarem el cron del nostre equip per tal que executi aquest script cada 5 minuts:

crontab -e

*/2 * * * * root sh /root/MonitoritzacioMysql.sh

Amb això ja ho tindrem tot fet. Recomano de totes maneres, provar manualment d’aturar el servei mysql i esperar uns minuts per veure com s’executa el procès i ens avisa per correu electrònic que s’ha reiniciat el servei.  Ara només ens quedarà mirar els logs del servidor amb calma per què no es produeixin reiniciades automàtiques del sistema.

 

 

 

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.