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
あなたのスクリプトchk_prg_versionは/ usr/local/nagios/libexecディレクトリに保存されていますか? – gile
パイプライン 'sshpass -f" password "scp -r user @ serverName:// FileLocation/FileName/tmp/storenumber'が失敗した場合はどうなりますか? – AlexP
@gileはい、それは/ usr/local/nagios/libexecにあります。そうしないと、nagiosサービスを再起動できなくなり、エラーメッセージが表示されます。 –