Script Shell

ahmed_king29 Messages postés 39 Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Lorsque je lance cette ligne :

$ /usr/lib/nagios/plugins/check_callrec_process -S SLR -P /opt/callrec/run/slr_1.pid --> j'obtient le résultat suivant :

Service SLR is running (pid: 2645)

Merci de m'aider d'écrire un script shell qui lance cette ligne et lire le résultat si la chaine de caractére " Service SLR is running " existe il affiche 1 sinon il affiche 0.

Merci...

3 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Normalement si tu sais écrire un test (par exemple via if ... else ... en shell) et que tu sais utiliser grep (par exemple avec l'option -q) ça devrait être une formalité ?

    Bonne chance
    0
  2. Utilisateur anonyme
     
    la commande a probablement un code retour différent selon que le service est actif ou non, et donc simplement l'afficher, en prenant soin de rediriger la sortie de la commande vers /dev/null (à moins qu'une option permette de la rendre silencieuse).
    0
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    qqchquicommenceparQ a raison, c'est le plus propre (il suffit de faire le test sur $? qui vaut 0 si tout s'est bien passé).

    /usr/lib/nagios/plugins/check_callrec_process -S SLR -P /opt/callrec/run/slr_1.pid
    ret=$?
    
    if [ $ret == 0 ]
    then
      echo "ok"
    else
      echo "not ok"
    fi
    0