可以通过下面脚本检查任意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