每隔5分钟检查连接并在LINUX中将结果写入文件(不包含ping)的脚本

问题描述:

我需要每5分钟检查一次连接到特定端口,目前我无法使用ping命令,所以我需要其他替代方法做这个。我想在shell脚本中执行这个命令。每隔5分钟检查连接并在LINUX中将结果写入文件(不包含ping)的脚本

有人可以帮我展示一些这个案例吗?

+0

http://*.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 –

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

你介意更新你的问题吗? –