2016-11-16 455 views
0

我需要每5分鐘檢查一次連接到特定端口,目前我無法使用ping命令,所以我需要其他替代方法做這個。我想在shell腳本中執行這個命令。每隔5分鐘檢查連接並在LINUX中將結果寫入文件(不包含ping)的腳本

有人可以幫我展示一些這個案例嗎?

+0

http://stackoverflow.com/questions/4922943/test-from-shell-script-if-remote-tcp-port-is-open –

+0

netstat是否適合你? netstat和grep結合起來可以完成這項工作嗎?同時檢查netstat --help或man netstat以獲取可用選項。 –

+0

@GeorgeVasiliou我想測試它從服務器A到服務器B,所以我認爲netstat不會工作,因爲netstat只檢查端口是否啓動。 CMIIW –

回答

0
port=80 
ip=8.8.8.8 
checkIntervalSecs=5 
timeoutSecs=1 
while true ; do 
    if $(nc -z -v -w$timeoutSecs $ip $port &>/dev/null); then 
     echo "Server is up!" 
    else 
     echo "Server is down!" 
    fi 
    sleep $checkIntervalSecs 
done 

這個運行,直到你殺了它。有關nc命令的解釋,基本上取自SO question @IporSircer suggested

+0

我不能使用「nc」命令。 –

+0

你介意更新你的問題嗎? –

相關問題