[gull] Script pour restarter mysql
Blaise Drayer
blaise at drayer.ch
Tue Oct 10 13:43:55 CEST 2006
Hello,
> Je cherche un petit script qui regarde si un process est live et qui le
> restart si ce n'est pas le cas.
> Concrétement, sur un box debian, je veux vérifier si mysql tourne et sinon
> lancer un /etc/init.d/mysql start
> Je pense qu'il faut regarder si il y a un pid pour mysql mais je ne connais
> pas la syntaxe et ne trouve pas d'exemple de ce genre de script.
Si jamais le PID de mySQL se trouve sous /var/run/mysqld/mysqld.pid (en
tout cas sous debian)
Il suffit de lancer dans un screen (l'avantage c'est de pouvoir afficher
un "log" en live, ...) ou en mettant un "&" après ta commande un petit
script shell du genre, ...
#!/bin/sh
while :
do
PID="/var/run/mysqld/mysqld.pid"
if [ ! -a $PID ]
then
/etc/init.d/mysql restart
fi
sleep 600
done
mieux vaut faire un restart au cas ou le scipt se trompe, ... ça a
l'avantage d'arrêter la base et de la redémarrer, ... J'aurais même
tendance à arrêter, ... puis killer mysql et ensuite seulement démarrer
mysql, ...
soit un truc du genre, ... :
#!/bin/sh
while :
do
PID="/var/run/mysqld/mysqld.pid"
if [ ! -a $PID ]
then
/etc/init.d/mysql stop
sleep 50
killall mysqld
sleep 50
/etc/init.d/mysql start
sleep 300
fi
sleep 600
done
Y'a surement aussi moyen de travailler sur le résultat que ps donne
comme test ou confirmation de test (avec ps -p et le numéro de pid), ...
A+
Blaise
More information about the gull
mailing list