2017-11-14 4 views
0

Guten Abend Leute,Bash-Skript für nagios Fehler: Keine Ausgabe auf stdout - funktioniert auf der Kommandozeile

Ich versuche, die Build-Version eines in-Haus gebaut Software von mehreren Remote-Servern und anzuzeigen, es zu lesen auf

Nagios läuft

Das Skript perfekt auf den Zeilenbefehl, sondern auf Nagios diese Fehlermeldung erhalte ich:

"(No output on stdout) stderr: execvp(/usr/local/nagios/libexec/chk_prg_version, ...) failed. errno is 2: No such file or directory"

Hier ist mein Skript (ohne die Originaldaten, die empfindlich ist unnötig zu sagen)

#!/bin/bash 

#copy the file to local temp and rename it for uniqueness 
sshpass -f "password" scp -r [email protected]://FileLocation/FileName /tmp/storenumber 

#Scan the file and grep anything after the string Program-Version: 
pversion=$(grep "Program-Version:" /tmp/MFileName | sed 's/^.*: //') 

#nagios checks 
if [ if the pversion matches the latest release version ] 
then 
    echo "OK - $pversion" 
    exit 0 
elif [ if the pversion is any of the previous releases ] 
then 
    echo "warning error message" 
    exit 1 
elif [ if returns a value that doesn't match any release ] 
then 
    echo "critical error message" 
    exit 2 
else 
    echo "uknown" 
    exit 3 
fi 

#delete the file 
rm /tmp/storenumber 
+2

Sind Sie sicher, dass Ihr Skript chk_prg_version im Verzeichnis/usr/local/nagios/libexec gespeichert ist? – gile

+0

Was passiert, wenn die Pipeline 'sshpass -f" Kennwort "scp -r Benutzer @ ServerName: // FileLocation/FileName/tmp/storennumber" fehlschlägt? – AlexP

+0

@gile ja, es ist in/usr/local/nagios/libexec - sonst kann ich den Nagios-Dienst nicht neu starten und bekomme eine Fehlermeldung –

Antwort

0

Ich war in der Lage, die Antwort herauszufinden: Der Befehl hatte einen Tippfehler, der das Plugin liest. Es funktioniert jetzt absolut gut.

Verwandte Themen