linux shell端口检查脚本

可以通过下面脚本检查任意TCP端口,出现异常后记录到日志文件,简单使用。
下面示例是检查freeswitch的webrtc websocket端口。

shell脚本

vi /opt/check-fs.sh 
#!/bin/bash
#power by gaojinbo.com

if [ -s /tmp/t.log ]
then
        echo "port error, sleep check"
        sleep 60
else
        MSG=`nc -v -w 2 12.37.29.10 7443 2>&1`
		echo ${MSG} |grep -i timed > /tmp/t.log
fi

DATE=`date`
if [ -s /tmp/t.log ] 
then
        MSG2="${MSG} ${DATE}"
        echo ${MSG2} >> /tmp/port-err.log
        echo "${DATE} restarting..." >> /tmp/port-restart.log
        #restart fs
        rm /tmp/t.log
else
        MSG2="${MSG} ${DATE}"
        echo ${MSG2} >> /tmp/port-ok.log

fi

放后台运行

配合按秒自动运行任务脚本使用
chmod +x /opt/check-fs.sh
screen /opt/every-x-seconds.sh 10 /opt/check-fs.sh