zoukankan      html  css  js  c++  java
  • tomcat宕机自动重启脚本

    #!/bin/bash
    # 获取tomcat进程ID /usr/share/tomcat
    TomcatID=$(ps -ef |grep tomcat |grep -w 'tomcat'|grep -v 'grep'|awk '{print $2}')

    # tomcat启动程序(这里注意tomcat实际安装的路径)
    #StartTomcat=/usr/local/tomcat/bin/startup.sh
    #yum安装后启动tomcat指令:systemctl start tomcat

    # 定义要监控的页面地址
    WebUrl=http://localhost:8080/dist/

    # 日志输出
    TomcatMonitorLog=/usr/share/tomcat/logs/TomcatMonitor.log

    Monitor()
    {
    echo "[info]开始监控tomcat...[$(date +'%F %H:%M:%S')]"
    if [[ $TomcatID ]];then # 这里判断TOMCAT进程是否存在
    echo "[info]当前tomcat进程ID为:$TomcatID,继续检测页面..."
    # 检测是否启动成功(成功的话页面会返回状态"200")
    TomcatServiceCode=$(curl -I -m 10 -o /dev/null -s -w %{http_code} $WebUrl)
    if [ $TomcatServiceCode -eq 200 ];then
    echo "[info]页面返回码为$TomcatServiceCode,tomcat启动成功,测试页面正常......"
    else
    echo "[error]tomcat页面出错,请注意......状态码为$TomcatServiceCode,错误日志已输出到$GetPageInfo"
    echo "[error]页面访问出错,开始重启tomcat"
    kill -9 $TomcatID # 杀掉原tomcat进程
    sleep 3
    #rm -rf $TomcatCache # 清理tomcat缓存
    systemctl start tomcat
    fi
    else
    echo "[error]tomcat进程不存在!tomcat开始自动重启..."
    echo "[info]tomcat starting,请稍候......"
    #rm -rf $TomcatCache
    systemctl start tomcat
    fi
    echo "------------------------------"

  • 相关阅读:
    泛型的内部原理:类型擦除以及类型擦除带来的问题
    Redis的那些最常见面试问题
    线程池全面解析
    对线程调度中Thread.sleep(0)的深入理解
    集群环境下Redis分布式锁
    3.8
    3.7
    3.6任务
    3.5任务
    3.4
  • 原文地址:https://www.cnblogs.com/jin-521/p/11436353.html
Copyright © 2011-2022 走看看