2017-06-07 9 views
0

私はサーバー上のポートを監視するには、次の「スクリプト」を使用しています:シェルスクリプトが複数の呼び出し間で状態の変化を検出できるようにするにはどうすればよいですか?

l_TELNET=`echo "quit" | telnet server.domain.tld 12345 | grep "Escape character is"` 
if [ "$?" -ne 0 ]; then 
    echo "Connection to $SERVER on port $PORT failed" 
    #Something happens here if Service (port) down 
    exit 1 
else 
    #Something happens here if Service (port) up 
    exit 0 
fi 

どのように私は、「サービスをダウン」実行のみにこれを変更することができますセクションサービスがあることが検出され最初時間サービスがダウンしている間、5分ごとにではなく、ダウンして(次回のバックアップまで)

答えて

1

一時ファイルの使用はどうですか?

l_TELNET=`echo "quit" | telnet server.domain.tld 12345 | grep "Escape character is"` 
if [ "$?" -ne 0 ]; then 
    if [ ! -f /tmp/12345down]; then 
     echo "Connection to $SERVER on port $PORT failed" 
     #Something happens here if Service (port) down 
     touch /tmp/12345down 
     exit 1 
    fi 
    exit 0 
else 
    #Something happens here if Service (port) up 
    if [ -f /tmp/12345down]; then 
     rm -f /tmp/12345down 
    fi 
    exit 0 
fi 
+0

パーフェクト!ありがとう@Vlad! –

関連する問題