我需要每5分鐘檢查一次連接到特定端口,目前我無法使用ping命令,所以我需要其他替代方法做這個。我想在shell腳本中執行這個命令。每隔5分鐘檢查連接並在LINUX中將結果寫入文件(不包含ping)的腳本
有人可以幫我展示一些這個案例嗎?
我需要每5分鐘檢查一次連接到特定端口,目前我無法使用ping命令,所以我需要其他替代方法做這個。我想在shell腳本中執行這個命令。每隔5分鐘檢查連接並在LINUX中將結果寫入文件(不包含ping)的腳本
有人可以幫我展示一些這個案例嗎?
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。
我不能使用「nc」命令。 –
你介意更新你的問題嗎? –
http://stackoverflow.com/questions/4922943/test-from-shell-script-if-remote-tcp-port-is-open –
netstat是否適合你? netstat和grep結合起來可以完成這項工作嗎?同時檢查netstat --help或man netstat以獲取可用選項。 –
@GeorgeVasiliou我想測試它從服務器A到服務器B,所以我認爲netstat不會工作,因爲netstat只檢查端口是否啓動。 CMIIW –