监控端口是否是打开的; 如果不是打开的,看看进程在不在; 如果进程也不在,就自动重启
#!/bin/sh
# 监控端口是否是打开的; 如果不是打开的,看看进程在不在; 如果进程也不在,就自动重启
source /etc/profile
hostIp=$(/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"|head -n 1)
#服务目录
ServiceDir=/do1cloud/znmh
appName=$1
activePort=$2
nc -w 3 -z $hostIp $activePort > /dev/null 2>&1
if [ $? = 0 ];then
echo $appName "Running..."
else
ps -ef | grep -w $appName | grep java | grep -v grep > /dev/null 2>&1
if [ $? = 0 ];then
for((i=1;i<=3;i++))
do
nc -w 3 -z $hostIp $activePort > /dev/null 2>&1
if [ $? = 0 ];then
echo $appName "Running..."
break
else
if [ $i = 3 ];then
echo "ERROR...Port Down, But processes ALIVE! ......"
#启动命令
cd $ServiceDir/$appName;sh run.sh restart > /dev/null 2>&1
nc -w 3 -z $hostIp $activePort > /dev/null 2>&1
if [ $? = 0 ];then
echo $appName "$appName restart succeed..."
else
echo $appName "$appName restart failed..."
fi
fi
fi
sleep 1
done
else
echo $appName "ERROR..."
#启动命令
cd $ServiceDir/$appName;sh run.sh start > /dev/null 2>&1
nc -w 3 -z $hostIp $activePort > /dev/null 2>&1
if [ $? = 0 ];then
echo $appName "$appName restart succeed..."
else
echo $appName "$appName restart failed..."
fi
fi
fi
配置定时任务*/5 * * * * /bin/bash /do1cloud/znmh/monitor_service.sh dcp-meeting 11011
作者:wiki 创建时间:2025-02-10 10:59
最后编辑:wiki 更新时间:2025-02-10 15:02
最后编辑:wiki 更新时间:2025-02-10 15:02