j'ai résolu mon problème, c'était bien par rapport à la valeur de sortie que me renvoyer mon service quand il était éteint, il était effectivement à 0.
Donc mon watchdog ne détectait pas d'anomalie !! :)
Pour répondre à ta question, oui si le script est arrête la valeur renvoyée est différente de 0.
Je n'arrive pas dans watchdog à récupérer la valeur de la commande /etc/init.d/mon_service status pour qu'en fonction de cette valeur, je relance ou non le service
Nan, en fait je veux faire watchdog (pour le mettre dans le crontab de mon utilisateur) qui vérifie justement mon service en lançant le script de service que j'ai créé hier (compliqué!!)
Merci gaaaaaAab une nouvelle fois, je vais essayer de faire de mon mieux.
En faite quand je dis qu'il ne fonctionne pas, il fonctionne mais pas de la façon dont je voudrais.
Quand je lance mon script si mon service passé en paramètre est démarré, il me répond:
"${PS} (mon_service) is running"
Mais si il est éteint, il me répond:
"${PS} (mon_service) is not running"
...et il s'arrête
Normalement, si il le voit "down", il est censé faire un start de celui-ci, mais il ne le fais pas.
Donc il faudrait lors de la création du service faire un controle de l'utilisateur pour dire quand c'est tata OK, on restart
et si c'est root qui demande un service appi restart (ok on restart, mais en lançant sur le process de tata)
# Résolu
Posté par skank75 . En réponse au message Script de controle et de redémarrage de service. Évalué à 1.
Merci à tous pour vos réponses,
j'ai résolu mon problème, c'était bien par rapport à la valeur de sortie que me renvoyer mon service quand il était éteint, il était effectivement à 0.
Donc mon watchdog ne détectait pas d'anomalie !! :)
[^] # Re: [ est une commande
Posté par skank75 . En réponse au message Script de controle et de redémarrage de service. Évalué à 0.
Ok merci, je pense que le problème vient de mon service qui ne retourne pas 0 (je ne suis plus trop sur de mon code du coup!!)
Source function library.
. /etc/init.d/functions
case $1 in
start)
su - mvas -c /appi/"appi.sh start"
exit 0
;;
stop)
su - mvas -c /appi/"appi.sh stop"
exit 1
;;
restart)
su - mvas -c /appi/"appi.sh restart"
;;
status)
su - mvas -c /appi/"appi.sh status"
;;
esac
exit $?
[^] # Re: [ est une commande
Posté par skank75 . En réponse au message Script de controle et de redémarrage de service. Évalué à 1.
Merci de ta réponse, je test mon script à la main
voilà l'erreur que j'ai quand je l'éxécute:
watchdog.sh: line 17: [: missing `]'
La ligne 17 correspond à celle du if
[^] # Re: [ est une commande
Posté par skank75 . En réponse au message Script de controle et de redémarrage de service. Évalué à 1.
:), c'est compliqué mais pour moi!!
Pour répondre à ta question, oui si le script est arrête la valeur renvoyée est différente de 0.
Je n'arrive pas dans watchdog à récupérer la valeur de la commande /etc/init.d/mon_service status pour qu'en fonction de cette valeur, je relance ou non le service
[^] # Re: [ est une commande
Posté par skank75 . En réponse au message Script de controle et de redémarrage de service. Évalué à 1.
Nan, en fait je veux faire watchdog (pour le mettre dans le crontab de mon utilisateur) qui vérifie justement mon service en lançant le script de service que j'ai créé hier (compliqué!!)
[^] # Re: [ est une commande
Posté par skank75 . En réponse au message Script de controle et de redémarrage de service. Évalué à 1.
Merci gaaaaaAab une nouvelle fois, je vais essayer de faire de mon mieux.
En faite quand je dis qu'il ne fonctionne pas, il fonctionne mais pas de la façon dont je voudrais.
Quand je lance mon script si mon service passé en paramètre est démarré, il me répond:
"${PS} (mon_service) is running"
Mais si il est éteint, il me répond:
"${PS} (mon_service) is not running"
...et il s'arrête
Normalement, si il le voit "down", il est censé faire un start de celui-ci, mais il ne le fais pas.
[^] # Re: case $1 in
Posté par skank75 . En réponse au message Script de controle et de redémarrage de service. Évalué à 1.
Merci pour le lien, mais je débute sous linux et je ne comprend pas trop
# résolu
Posté par skank75 . En réponse au message Contrôle de l'utilisateur dans un shell de service. Évalué à 0.
Merci à tous pour vos réponses,
j'ai résolu mon problème est mon service se lance bien avec mon utilisateur.
[^] # Re: id
Posté par skank75 . En réponse au message Contrôle de l'utilisateur dans un shell de service. Évalué à 1.
Merci en tout cas de ta réponse, je vais essayer de me débrouiller avec ça.
Juste quelques précisions dans ton code:
dans
if [ $(id -nu) -eq 0 ]; then
su - tata -c cmd
Si je suis root je lance avec tata, c'est ça?
donc si je vais en quelques sortes l'inverse (id de tata = 20001)
comme:
if [ $(id -nu) -eq 20001 ]; then
cmd
else
su - tata -c cmd
fi
là je fais un controle si je suis tata je lance, sinon je lance en tant que tata, c'est ça?
en tout cas merco
[^] # Re: id
Posté par skank75 . En réponse au message Contrôle de l'utilisateur dans un shell de service. Évalué à 1.
Re (dslé)
Donc il faudrait lors de la création du service faire un controle de l'utilisateur pour dire quand c'est tata OK, on restart
et si c'est root qui demande un service appi restart (ok on restart, mais en lançant sur le process de tata)
Mais ça je ne sais pas faire
[^] # Re: id
Posté par skank75 . En réponse au message Contrôle de l'utilisateur dans un shell de service. Évalué à 1.
Merci déjà pour ta réponse,
j'ai bien compris la notion de UID GID mais en faite je n'arrive pas à l'appliquer dans mon cas, concrètement si je fais en root:
service appi start
je souhaiterais qu'il lance l'appli mais dans les process de tata (UID et le GID de tata est 20001 pour les deux)