Partage
  • Partager sur Facebook
  • Partager sur Twitter

[SHELL BASH] Script Nagios avec erreurs

    5 décembre 2018 à 16:28:52

    Bonjour,

    Nous avons un script de vérification de licence pour Nagios qui nous fait des retour en erreur lors des tests.

    Voici le morceau en erreur :

    if [ "$EXPIRY" = "UNKNOWN" ] ; then
                     STATE="UNKNOWN"
             elif [ "$EXPIRY" = "∞" ] || [ "$EXPIRY" -gt "7" ];then
                     STATE="OK"
             elif [ "$EXPIRY" = "7" ] && [ "$EXPIRY" -gt "1" ] ; then
                     STATE="WARNING"
             elif [ "$EXPIRY" = "1" ] ; then
                     STATE="CRITICAL"
    fi
    
    echo $STATE -- "La licence expire dans $EXPIRY jours"

    et le retour d'erreur lors du test du script :

    ./check_zend_license: ligne 50 : [:                                                     <span ng-if="loginData.license.daysToExpired === 0">Your license expires today</span>
                                                            <span ng-if="loginData.license.daysToExpired > 0">Your license will expire in {{loginData.license.daysToExpired}} day{{loginData.license.daysToExpired > 1 ? 's' : ''}}</span>
                                            <div ng-if="! (loginData.license.isOk && loginData.license.daysToExpired === false)"><a href="http://www.zend.com/go/trial/server-6-upgrade-login" target="_blank">Contact us to get a license</a></div> : nombre entier attendu comme expression
    -- La licence expire dans                                                       <span ng-if="loginData.license.daysToExpired === 0">Your license expires today</span>
                                                            <span ng-if="loginData.license.daysToExpired > 0">Your license will expire in {{loginData.license.daysToExpired}} day{{loginData.license.daysToExpired > 1 ? 's' : ''}}</span>
                                            <div ng-if="! (loginData.license.isOk && loginData.license.daysToExpired === false)"><a href="http://www.zend.com/go/trial/server-6-upgrade-login" target="_blank">Contact us to get a license</a></div> jours
    

    La ligne 50 correspond à :

    elif [ "$EXPIRY" = "∞" ] || [ "$EXPIRY" -gt "7" ];then

    J'ai essayé avec juste :

    [ "$EXPIRY" -gt "7" ]

    mais j'obtiens le même résultat.

    J'ai modifié la fin du script sur la partie en échec comme suit :

    if [ "$EXPIRY" = "UNKNOWN" ] ; then
                     STATE="UNKNOWN"
             elif [[ "$EXPIRY" = "∞" ]] || [[ "$EXPIRY" -gt "7" ]];then
                     STATE="OK"
             elif [[ "$EXPIRY" -le "7" ]] && [[ "$EXPIRY" -gt "1" ]] ; then
                     STATE="WARNING"
             elif [[ "$EXPIRY" -le "1" ]] ; then
                     STATE="CRITICAL"
    fi
    
    echo $STATE -- "La licence expire dans $EXPIRY jours"
    
    

    et dans ce cas de figure, j'obtiens :

    ./check_zend_license: ligne 50: [[: <span ng-if="loginData.license.daysToExpired === 0">Your license expires today</span>
                                                            <span ng-if="loginData.license.daysToExpired > 0">Your license will expire in {{loginData.license.daysToExpired}} day{{loginData.license.daysToExpired > 1 ? 's' : ''}}</span>
                                            <div ng-if="! (loginData.license.isOk && loginData.license.daysToExpired === false)"><a href="http://www.zend.com/go/trial/server-6-upgrade-login" target="_blank">Contact us to get a license</a></div> : erreur de syntaxe : opérande attendue (le symbole erroné est "<span ng-if="loginData.license.daysToExpired === 0">Your license expires today</span>
                                                            <span ng-if="loginData.license.daysToExpired > 0">Your license will expire in {{loginData.license.daysToExpired}} day{{loginData.license.daysToExpired > 1 ? 's' : ''}}</span>
                                            <div ng-if="! (loginData.license.isOk && loginData.license.daysToExpired === false)"><a href="http://www.zend.com/go/trial/server-6-upgrade-login" target="_blank">Contact us to get a license</a></div>")
    ./check_zend_license: ligne 52: [[: <span ng-if="loginData.license.daysToExpired === 0">Your license expires today</span>
                                                            <span ng-if="loginData.license.daysToExpired > 0">Your license will expire in {{loginData.license.daysToExpired}} day{{loginData.license.daysToExpired > 1 ? 's' : ''}}</span>
                                            <div ng-if="! (loginData.license.isOk && loginData.license.daysToExpired === false)"><a href="http://www.zend.com/go/trial/server-6-upgrade-login" target="_blank">Contact us to get a license</a></div> : erreur de syntaxe : opérande attendue (le symbole erroné est "<span ng-if="loginData.license.daysToExpired === 0">Your license expires today</span>
                                                            <span ng-if="loginData.license.daysToExpired > 0">Your license will expire in {{loginData.license.daysToExpired}} day{{loginData.license.daysToExpired > 1 ? 's' : ''}}</span>
                                            <div ng-if="! (loginData.license.isOk && loginData.license.daysToExpired === false)"><a href="http://www.zend.com/go/trial/server-6-upgrade-login" target="_blank">Contact us to get a license</a></div>")
    ./check_zend_license: ligne 54: [[: <span ng-if="loginData.license.daysToExpired === 0">Your license expires today</span>
                                                            <span ng-if="loginData.license.daysToExpired > 0">Your license will expire in {{loginData.license.daysToExpired}} day{{loginData.license.daysToExpired > 1 ? 's' : ''}}</span>
                                            <div ng-if="! (loginData.license.isOk && loginData.license.daysToExpired === false)"><a href="http://www.zend.com/go/trial/server-6-upgrade-login" target="_blank">Contact us to get a license</a></div> : erreur de syntaxe : opérande attendue (le symbole erroné est "<span ng-if="loginData.license.daysToExpired === 0">Your license expires today</span>
                                                            <span ng-if="loginData.license.daysToExpired > 0">Your license will expire in {{loginData.license.daysToExpired}} day{{loginData.license.daysToExpired > 1 ? 's' : ''}}</span>
                                            <div ng-if="! (loginData.license.isOk && loginData.license.daysToExpired === false)"><a href="http://www.zend.com/go/trial/server-6-upgrade-login" target="_blank">Contact us to get a license</a></div>")
    -- La licence expire dans                                                       <span ng-if="loginData.license.daysToExpired === 0">Your license expires today</span>
                                                            <span ng-if="loginData.license.daysToExpired > 0">Your license will expire in {{loginData.license.daysToExpired}} day{{loginData.license.daysToExpired > 1 ? 's' : ''}}</span>
                                            <div ng-if="! (loginData.license.isOk && loginData.license.daysToExpired === false)"><a href="http://www.zend.com/go/trial/server-6-upgrade-login" target="_blank">Contact us to get a license</a></div> jours
    



    Merci d'avance pour tout retour à ce sujet.


    Le script original sans modification fonctionne très biens sur les serveurs Red Hat mais pas sur les Debian 8 et 9.

    -
    Edité par scorpioncf 6 décembre 2018 à 15:44:57

    • Partager sur Facebook
    • Partager sur Twitter

    [SHELL BASH] Script Nagios avec erreurs

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown