每隔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。
+0
我不能使用“nc”命令。 –
+0
你介意更新你的问题吗? –
http://*.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 –