OVH Community, your new community space.

Autorestart Mysql cuando esté caido en Gentoo


Raul
15/07/2008, 18:32
jajajajaj, no lo había leido, está payá xD.

MarcosBL
15/07/2008, 16:12
Ah, ok, il15, pensé que era más a menudo.

pedrito, danos un poco de eso que fumas, tio xD

il15
15/07/2008, 11:52
Cita Publicado inicialmente por MarcosBL
A mandar : )

De todas formas recuerda que eso no es más que un parche, cuando tengas tiempo investiga los motivos por los que se te cae MySQL, iniciarlo por "fuerza bruta" te servirá un tiempo, pero probablemente te estés enfrentando a la posibilidad de BDs corruptas, indices perdidos, etc, etc... si el servicio se cae tanto algún problema de fondo hay : )
La verdad es que se cae una vez cada mes o así, no es mucho, lo único que así me aseguro de que se reinicie solo y no hasta que me dé cuenta

sdzzds
15/07/2008, 11:23
Cita Publicado inicialmente por pedrito
Estoy totalmente de acuerdo contigo, la idea intrinseca expuesta es brillante, las posibles opciones en el desarrollo del tema son infinitas, la claridad del argumento es mayúscula, pocas veces he tenido ocasión de leer un tema tan ameno, con la longitud justa, con la métrica adecuada, sin florituras.

pedrito
14/07/2008, 23:07
Estoy totalmente de acuerdo contigo, la idea intrinseca expuesta es brillante, las posibles opciones en el desarrollo del tema son infinitas, la claridad del argumento es mayúscula, pocas veces he tenido ocasión de leer un tema tan ameno, con la longitud justa, con la métrica adecuada, sin florituras.

MarcosBL
12/07/2008, 03:30
A mandar : )

De todas formas recuerda que eso no es más que un parche, cuando tengas tiempo investiga los motivos por los que se te cae MySQL, iniciarlo por "fuerza bruta" te servirá un tiempo, pero probablemente te estés enfrentando a la posibilidad de BDs corruptas, indices perdidos, etc, etc... si el servicio se cae tanto algún problema de fondo hay : )

il15
11/07/2008, 15:22
GRACIAS!!!!!!!!!
en serio MIL GRACIAS!!!!

MarcosBL
11/07/2008, 15:06
Creamos el fichero

vi /root/comprobacion_mysql.sh
Escribimos el contendio siguiente

#!/bin/bash

estado=$( /etc/init.d/mysql status | grep started )
if [ -z "$estado" ]
then
echo "MySQL está muerto";
/etc/init.d/mysql start;
estado=$( /etc/init.d/mysql status | grep started )
if [ -z "$estado" ]
then
echo "MySQL no ha podido ser iniciado, hágalo manualmente";
else
echo "MySQL fue reiniciado con éxito";
fi
else
# No hacemos nada, ya que MySQL está vivito y coleando, si no quisiees un aviso (recomendado no tenerlo en este caso), comenta la siguiente linea
echo "MySQL está vivo"
fi
Le damos permisos de ejecución

chmod +x /root/comprobacion_mysql.sh
Paramos mysql

/etc/init.d/mysql stop
Probamos el script

/root/comprobacion_mysql.sh
Vemos el resultado

nsXXXXXXX ~ # /root/comprobacion_mysql.sh
MySQL está muerto
* Starting mysql ...
* Starting mysql (/etc/mysql/my.cnf) [ ok ]
MySQL fue reiniciado con éxito
Agregamos al crono una tarea de comprobación cada 15 minutos, todos los dias, todas las horas, etc... que ejecute el script en cuestión, /root/comprobacion_mysql.sh
(Esto te lo dejo a ti, que si no no tiene mérito)

Invitamos al Marcos a una caña cuando haya ocasión.

Espero que te sirva : )

il15
11/07/2008, 13:58
Gracias por los links, y mirandolos he hecho este script pero no hay manera de que me diga que es verdad.

Lo que he intentado hacer es que si mysql esta "started" entonces que me diga que si, pero cuando lo ejecuto me dice que no. ¿Que es lo que debería poner después del igual?

Código:
 #!/bin/bash
        if [ "$ /etc/init.d/mysql status" = 'status:  started' ]; then
        echo 'si'
        else
        echo 'no'

        fi

josu
11/07/2008, 12:27
http://wiki.lidsol.net/wiki/index.ph...torial_de_bash

http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html

http://tldp.org/LDP/abs/html/

Saludos.

il15
11/07/2008, 12:14
nadie sabe como hacerlo?¿?¿?

il15
10/07/2008, 10:45
Si lo que yo quiero es por ejemplo que

cada diez minutos
si mysql está apagado
/etc/init.d/mysql start.

Pero es que no tengo ni idea de como usar grep, por favor ayuda, si debe ser facil ¿no?

josu
10/07/2008, 10:22
Te recomiendo que dediques un poco de tiempo e implementes algún sistema de monitorización tipo "nagios" o "monit". Se pueden configurar que aparte de enviarte un aviso reinicien los servicios.

Si quieres crearte un script juega con la salida de "mysqladmin status". Haciendo un "grep" y dependiendo del resultado se puede comprobar si la aplicación "mysql" está activa y si no relanzarla con un "/etc/init.d/mysql start."

Saludos.

PD: A veces las distribuciones tienen un "/etc/init.d/mysql status" que también devuelve el estado del servicio.

il15
09/07/2008, 16:40
Hola, ya me ha pasado dos veces que mysql se queda caído hasta que le hago un "restart", esto no es problema cuando estoy cerca y me doy cuenta, pero me gustaría encontrar un script que haga esto automáticamente cuando mysql esté caido.

alguien me puede echar una mano