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

来源:互联网 发布:mysql blob最大长度 编辑:程序博客网 时间:2024/06/08 19:39

最近在重构,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.logstatus=0cd $TOMCAT_HOMEdate +%F" "%H:%M:%Sfunction checkFuc(){for i in {1..10}doecho $istatus=$(curl -s -o /dev/null -m 10 --coct-timeout 10 URL -w %{http_code})if [ $status -eq 200];thenbreakelseif [$i -eq 10];then$CLOSE_TOMCATsleep 3rm -rf $TOMCAT_CACHE$START_TOMCATfifidoneecho $statusif [ $status -eq 200];thenecho "tomcat is running OK"elseTomcatPID=$(ps -aux | grep ${TOMCAT_HOME} | grep java | awk '{print $2}')if[ $TomcatPID ];thenecho "closing tomcat"$CLOSE_TOMCATsleep 3echo "starting tomcat"rm -rf $TOMCAT_CACHE$START_TOMCATelserm -rf $TOMCAT_CACHE$START_TOMCATfifi}checkFuc()>>$LOG_PATH 


原创粉丝点击