2017-11-14 13 views
0

こんばんは皆さん、bashスクリプト:標準出力に出力しない - コマンドライン上で正常に動作します

私はいくつかのリモートサーバーからの社内構築されたソフトウェアのビルドバージョンを読んで、それを表示しようとしていますNagiosの

上のスクリプトは、コマンドライン上で完璧に動作しますが、Nagiosの上で、私はこのエラーメッセージになっています:

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

はここに私のスクリプトです(元のデータなしで、敏感無用が言うことです)

#!/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

あなたのスクリプトchk_prg_versionは/ usr/local/nagios/libexecディレクトリに保存されていますか? – gile

+0

パイプライン 'sshpass -f" password "scp -r user @ serverName:// FileLocation/FileName/tmp/storenumber'が失敗した場合はどうなりますか? – AlexP

+0

@gileはい、それは/ usr/local/nagios/libexecにあります。そうしないと、nagiosサービスを再起動できなくなり、エラーメッセージが表示されます。 –

答えて

0

私は答えを見つけ出すことができました。コマンドには、プラグインを読み込むタイプミスがありました。今は絶対にうまくいきます。

関連する問題