Shell脚本监控线上端口服务是否正常开启

前言:

  线上服务正常可用是至关重要的,当正在运行的某个端口服务异常停止,我们期望定时脚本可以自动启动,而无需遇到问题再人为的启动。

  例如:监听Mysql服务是否正常,我们通常的思路是检查3306端口是否正常启动的方式来监听。

方法:

以Mysql服务,端口3306为例,shell脚本写法为:

#!/bin/bash
#监控Mysql服务是否开启
 
port=`netstat -nlt|grep 3306|wc -l`
if [ $port -ne 1 ]
then
 /etc/init.d/mysqld start
else
 echo "MySQL is running"
fi

以webSocket服务,端口8820为例,shell脚本写法为:

#!/bin/bash
#监控webSocket服务是否开启
 
port=`netstat -nlt|grep 8820|wc -l`
if [ $port -ne 1 ]
then
  $(cd /home/websocket && php start.php start -d)
else
 echo "webSocket is running"
fi

 

posted @ 2020-04-09 15:02  申文哲  阅读(3610)  评论(0编辑  收藏  举报