Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Petit script

12 réponses
Avatar
Nahliel Steinberg
bonjour,

Je cherche le moyen de relancer un service automatiquement quand il tombe, pour qu'il soit
relancé automatiquement.


--
Nahliel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20120530112333.GA31337@debianserver.info-cr.fr

10 réponses

1 2
Avatar
daniel huhardeaux
Le 30/05/2012 13:23, Nahliel Steinberg a écrit :
bonjour,

Je cherche le moyen de relancer un service automatiquement quand il tombe, pour qu'il soit
relancé automatiquement.




Exemple pour relancer les VPN. A mettre dans cron toutes les Y minutes
de suivi désiré. Il permet de gérer plusieurs services.

#!/bin/sh
#
# Creation 2012/03
# Daniel Huhardeaux -
#

debug=no
emulate=no

START=/usr/sbin/service
PGREP=/usr/bin/pgrep
PS="/bin/ps -fp"
backupIFS=$IFS
IFS=" "

DAEMON_TO_FOLLOW="openvpn"
export openvpn_SERVICES="vpn1 vpn2 vpn3 ... vpnX"

for daemon in $DAEMON_TO_FOLLOW; do
daemon_SERVICES=${daemon}_SERVICES

[ "$debug" = "yes" ] && echo "Daemon=$daemon
Services=$daemon_SERVICES Value=$openvpn_SERVICES"

if [ "$openvpn_SERVICES" != "" ]; then

for service in $openvpn_SERVICES; do
[ "$debug" = "yes" ] && echo -n "$daemon: $service"

ps -fp $($PGREP -d, -f $service) >/dev/null 2>&1
if [ $? -ne 0 ]; then
# service not running, we restart service
[ "$debug" = "yes" ] && echo " NOT RUNNING ($START $daemon
restart $service)"
[ "$emulate" != "yes" ] && sudo $START $daemon restart $service
/dev/null 2>&1 && logger "$daemon RESTART $service"


else
[ "$debug" = "yes" ] && echo " OK ($PS $($PGREP -d, -f $service))"
fi
done
else
[ "$debug" = "yes" ] && echo "ps -fp $(pgrep -d, -x $daemon)"
[ "$emulate" != "yes" ] && ps -fp $(pgrep -d, -x $daemon)
/dev/null 2>&1


fi
done

IFS=$backupIFS

exit 0

--
Daniel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Bzzz
On Wed, 30 May 2012 13:46:06 +0200
daniel huhardeaux wrote:

Il-y-a bcp plus simple (à Cdt que le Sce soit indispensable): un
respawn.

Mais déjà, LA solution la plus simple c'est la recherche
personnelle...

--
lawyer, n.:
Someone who can get a sodomy charge changed to "following too
closely."

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Nahliel Steinberg
C'est quoi respawn ?

Le 30/05/12 at 13:51, Bzzz a ecrit:
On Wed, 30 May 2012 13:46:06 +0200
daniel huhardeaux wrote:

Il-y-a bcp plus simple (à Cdt que le Sce soit indispensable): un
respawn.

Mais déjà, LA solution la plus simple c'est la recherche
personnelle...

--
lawyer, n.:
Someone who can get a sodomy charge changed to "following too
closely."

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/


fin du message de Bzzz

--
Nahliel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Denis Mugnier
dans le fichier inittab, en précisant respawn, le processus sera
redémarré à chaque fois qu'il s'arrêtera.

voir man inittab pour plus de précisions.

Denis



Le 30/05/2012 16:34, Nahliel Steinberg a écrit :
C'est quoi respawn ?

Le 30/05/12 at 13:51, Bzzz a ecrit:




--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Stephane Chazelas
2012-05-30 13:23:33 +0200, Nahliel Steinberg:
bonjour,

Je cherche le moyen de relancer un service automatiquement quand il tombe, pour qu'il soit
relancé automatiquement.


[...]

Regarde du coté de runit ou daemontools

--
Stephane

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Yves Rutschle
On Wed, May 30, 2012 at 04:34:52PM +0200, Nahliel Steinberg wrote:
C'est quoi respawn ?



man inittab(5): c'est une façon de relancer automatiquement
des services.

Y.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Stephane Chazelas
2012-05-30 16:51:01 +0200, Denis Mugnier:
dans le fichier inittab, en précisant respawn, le processus sera
redémarré à chaque fois qu'il s'arrêtera.

voir man inittab pour plus de précisions.


[...]

Le problem avec inittab, et la raison pour laquelle on ne trouve
plus de demarrage de service (a part getty) dans ce fichier est
que ca ne gere pas les dependances (tous les services sont
demarrés en meme temps des qu'on rentre dans le runlevel).

La solution est d'utiliser un autre "init" qui gere tout ca un peu
mieux (systemd, upstart...) ou d'utiliser une commande qui
monitore le service et le relance si besoin est.

--
Stephane

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Nahliel Steinberg
Le 30/05/12 at 16:48, Yves Rutschle a ecrit:
On Wed, May 30, 2012 at 04:34:52PM +0200, Nahliel Steinberg wrote:
C'est quoi respawn ?



man inittab(5): c'est une façon de relancer automatiquement
des services.




Merci à vous, je regarde ces pistes

--
Nahliel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Denis Mugnier
Le 30/05/2012 17:17, Stephane Chazelas a écrit :
2012-05-30 16:51:01 +0200, Denis Mugnier:
dans le fichier inittab, en précisant respawn, le processus sera
redémarré à chaque fois qu'il s'arrêtera.

voir man inittab pour plus de précisions.


[...]

Le problem avec inittab, et la raison pour laquelle on ne trouve
plus de demarrage de service (a part getty) dans ce fichier est
que ca ne gere pas les dependances (tous les services sont
demarrés en meme temps des qu'on rentre dans le runlevel).

La solution est d'utiliser un autre "init" qui gere tout ca un peu
mieux (systemd, upstart...) ou d'utiliser une commande qui
monitore le service et le relance si besoin est.


J'ai répondu rapidement sur ce qu'était le respawn.

Je pense qu'une commande pour monitorer est une meilleure solution car
elle pourra tuer le processus s'il est planté (à condition de pouvoir le
détecter ;o) ), ce que ne va pas faire respawn ou les autres solutions
de "init".

Mais n'en sachant pas plus sur le processus, impossible de se prononcer
sur la meilleure solution.

Denis

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Guillaume Caron
On Wed, May 30, 2012 at 04:17:04PM +0100, Stephane Chazelas wrote:
2012-05-30 16:51:01 +0200, Denis Mugnier:
> dans le fichier inittab, en précisant respawn, le processus sera
> redémarré à chaque fois qu'il s'arrêtera.
>
> voir man inittab pour plus de précisions.
[...]

Le problem avec inittab, et la raison pour laquelle on ne trouve
plus de demarrage de service (a part getty) dans ce fichier est
que ca ne gere pas les dependances (tous les services sont
demarrés en meme temps des qu'on rentre dans le runlevel).

La solution est d'utiliser un autre "init" qui gere tout ca un peu
mieux (systemd, upstart...) ou d'utiliser une commande qui
monitore le service et le relance si besoin est.




C'est overkill mais je trouve qu'Heartbeat répond assez bien à la question. Il suffit d'un script init pour son processus et il peut être pris en charge.

--
Guillaume Caron

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
1 2