linux下监控某个端口服务shell自拉脚本,当发现服务自动挂掉后,通过脚本监控,重新启动服务。脚本内容如下:
#!/bin/bash
#服务启动监听的端口,需要用户根据部署情况修改
PORT=9097
#服务启动脚本及参数,需要用户根据实际情况修改
SCRIPT="start.sh"
PID=`netstat -anp |grep ":$PORT" |grep LISTEN |awk '{print $7}' |awk -F/ '{print $1}'`
#SERVICE_PATH=`pwdx $PID |awk -F' ' '{print $2}'`
#启动服务start.sh路径根据需要修改
SERVICE_PATH=/home/deploy/ttss
while( true )
do
PID=`netstat -anp |grep ":$PORT" |grep LISTEN |awk '{print $7}' |awk -F/ '{print $1}'`
if [ -z "$PID" ]
then
echo $(date) : process has been restart >> $SERVICE_PATH/restart.log
cd $SERVICE_PATH
bash $SCRIPT
sleep 120
fi
sleep 10
done
将编辑好的脚步放到服务器上,chmod +x ***.sh 加上执行权限。
在该路径下执行脚本: ./脚本名称.sh &
可以停用服务,进行验证,是否能正常启动服务。