shell脚本检查tomcat应用健康状态

25 篇文章 0 订阅

1.首先应用编写一个接口(http均可)

接口查询数据库中随便一个表一条数据,正常返回数据这表示应用健康,否则应用运行异常。

public String getResult(){	
        //TODO  查询数据库数据
        List list = queryUser();
		log.info("=================hart==============心跳请求!");
		if(list.size()>0){
			return "OK";
		}
		return "OK";
	}

2.入口shell脚本(check_web_health.sh)

curl发起请求检查上面接口能否正常返回,总共三次请求,若有一次返回接口正常,则停止脚本执行;若三次都请求失败,则调用重启tomcat脚本(restartup_tomcat.sh)

#!/bin/bash
#Description: check web server
source /etc/profile
LOG="/home/junfeng_shell/log"
DATE=`date +%y%m%d-%H:%M`
a=0
mkdir -p /home/junfeng_shell/log

while [ $a -lt 3 ]
do
    RESULT=$(curl --connect-timeout 15 -m 20 http://127.0.0.1:8080/system/live.action?method=getResult)
   
    echo -----------------$RESULT
   
    if [ $RESULT ] && [[ $RESULT -eq "OK" ]]
    then
        echo ****************success****************$RESULT
        break
    fi
    a=`expr $a + 1`
#    sleep 10
done

if [ $a -eq 3 ]
then   
   # start_tomcat restart
    /home/junfeng_shell/restartup_tomcat.sh
    echo **[$DATE]****************error[$a]*****restart***********>>$LOG/$DATE.down
fi

3.重启tomcat脚本(restartup_tomcat.sh)

这里直接通过杀进程方式停止tomcat,然后在重启tomcat

#!/bin/bash
#执行命令,重启tomcat
source /etc/profile
tomcat_home=/usr/local/apache-tomcat-xxxx
JAVA_HOME=/usr/local/java/jdk1.8.0_45
export JAVA_HOME
#停止tomcat变
SHUTDOWN=$tomcat_home/bin/shutdown.sh
#启动tomcat变量
STARTTOMCAT=$tomcat_home/bin/startup.sh
#ps -ef |grep test | grep -v grep |awk '{print $2}'|xargs kill -9 -p
PID=`ps -ef |grep usr/local/apache-tomcat-workflow-new/conf  |grep -v grep | awk '{print $2}'`
echo $PID
if [ ! "$PID" ];then  # 这里判断TOMCAT进程是否存在
   echo "进程不存在"
else
   echo "进程存在 杀死进程PID$PID"
   kill -9 $PID
fi
$STARTTOMCAT
echo "success"

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值