2017-06-07 42 views
0

我使用下面的「腳本」,以監控端口的服務器上:如何讓我的shell腳本檢測跨多個調用的狀態更改?

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 

我怎麼能修改此僅執行「服務向下」部分第一一次檢測服務是(直到下一次備份),而不是每五分鐘一次服務繼續下降?

回答

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! –

相關問題