Linux 中 tomcat 服务检测/重启 sh 脚本

最近在重构,tomcat工程很不稳定,需要做一个自动检测并重启的程序,之前用python写了个程序,
但由于有多个工程,并分别部署在多个服务器上,还需要一个个的去配置python环境,有点麻烦,所以就想着直接写个 shell 脚本
该脚本主要通过检测tomcat对应的工程链接是否已经正常启动来重启tomcat。
有失败重置机制(这里设置了十次),若连续请求10次都失败了
先判断tomcat是否已经启动,若启动了,则关闭tomcat再重启tomcat。否则直接启动 tomcat。





#!/bin/sh

# 链接
URL="http://localhost:8080/"
# tomcat目录
TOMCAT_HOME=/usr/soft/apache-tomcat-8.5.20
# 关闭tomcat命令的路径
CLOSE_TOMCAT=${TOMCAT_HOME}/bin/shutdown.bat
# 启动tomcat命令的路径
START_TOMCAT=${TOMCAT_HOME}/bin/startup.bat
# tomcat缓存目录
TOMCAT_CACHE=${TOMCAT_HOME}/work
# 日志文件的路径
LOG_PATH=${TOMCAT_HOME}/check.log
status=0

cd $TOMCAT_HOME
date +%F" "%H:%M:%S
function checkFuc(){
	for i in {1..10}
	do
		echo $i
		status=$(curl -s -o /dev/null -m 10 --coct-timeout 10 URL -w %{http_code})
		if [ $status -eq 200];then
			break
		else
			if [$i -eq 10];then
				$CLOSE_TOMCAT
				sleep 3
				rm -rf $TOMCAT_CACHE
				$START_TOMCAT
			fi
		fi
	done
	echo $status
	if [ $status -eq 200];then
		echo "tomcat is running OK"
	else
		TomcatPID=$(ps -aux | grep ${TOMCAT_HOME} | grep java | awk '{print $2}')
		if	[ $TomcatPID ];then
			echo "closing tomcat"
			$CLOSE_TOMCAT
			sleep 3
			echo "starting tomcat"
			rm -rf $TOMCAT_CACHE
			$START_TOMCAT
		else
			rm -rf $TOMCAT_CACHE
			$START_TOMCAT
		fi
			
	fi
}
checkFuc()>>$LOG_PATH 


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值