skank75 a écrit 11 commentaires

  • # Résolu

    Posté par  . 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  . 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  . 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  . 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  . 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  . 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  . 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  . 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  . 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  . 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  . 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)