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
_______________________________________________
gull mailing list
[email protected]
http://lists.alphanet.ch/mailman/listinfo/gull