部门对外提供服务使用的是ssh隧道到云主机,但是有时候,隧道会断开,通过检测远程端口是否打开以重新建立连接。
经过百度,找到了nmap命令,使用下面命令检测远程端口
/usr/bin/nmap -sS www.baidu.com -p 80
显示结果如下:
Starting Nmap 6.40 ( http://nmap.org ) at 2013-12-23 10:49 CST Nmap scan report for www.baidu.com (115.239.210.27) Host is up (0.030s latency). Other addresses for www.baidu.com (not scanned): 115.239.210.26 PORT STATE SERVICE 80/tcp open http Nmap done: 1 IP address (1 host up) scanned in 1.43 seconds
可以看到80端口是打开的,那么我们就可以通过如下命令来执行想要的操作了
i1=`/usr/bin/nmap -sS www.baidu.com -p 80 | grep 80 | awk '{printf $2}'` if [ "$i1" == "closed" ]; then killall ssh fi