linux下查看tomcat宕机并自动重启[通俗易懂]

linux下查看tomcat宕机并自动重启[通俗易懂]1.在服务器上创建tomcatMonitor.sh2.使文件生效chmodu+x*.sh3.编辑tomcatMonitor.sh文件,if及fi必须成对出现,如果ifthen写在一行需要用;隔开#!/bin/sh#获取tomcat的PIDTOMCAT_PID=$(ps-ef|greptomcat|grep-v’grep’|awk'{print$2}’)#tomcat的启动文件位置START_TOMCAT=/usr/local/tomcat6/bin/start

大家好,又见面了,我是你们的朋友全栈君。

1.在服务器上创建tomcatMonitor.sh

2.使服务器.sh文件生效chmod u+x *.sh

3.编辑tomcatMonitor.sh文件,if及fi必须成对出现,如果if then写在一行需要用;隔开

#!/bin/sh
# 获取tomcat的PID
TOMCAT_PID=$(ps -ef | grep tomcat | grep -v 'tomcatMonitor'  |grep -v 'grep' | awk '{print $2}')
# tomcat的启动文件位置
START_TOMCAT=/usr/local/tomcat6/bin/startup.sh
# 需要监测的一个GET请求地址
MONITOR_URL=http://localhost:8080/hnrwms/login.do?method=begin
# 监测日志输出路径
TOMCAT_MONITOR_LOG=/home/user/tomcatMonitor.log
Monitor()
{
  # 输出时间,注意date后有个空格
  echo "[$(date +'%F %H:%M:%S')]"
  echo "[info]$TOMCAT_PID,开始监控tomcat..."
  # 判断tomcat的PID是否存在,如不存在说明tomcat进程已关闭,注意[]前后,变量前后,都要有空格
  if [[ $TOMCAT_PID ]];then
    echo "[info]当前tomcat的PID为:$TOMCAT_PID,继续监测页面..."
    # 向监测的地址发送请求并获取响应码
    HTTP_REPONSE_STATUS=$(curl -l -m 10 -o /dev/null -s -w %{http_code} $MONITOR_URL)
    # 如果响应码为200证明tomcat在正常启用
    if [[ $HTTP_REPONSE_STATUS -eq 200 ]];then
      echo "[info]tomcat启动正常..."
    else
      echo "[error]页面返回码为$HTTP_REPONSE_STATUS,开始重启tomcat..."
      # 结束tomcat进程
      kill -9 $TOMCAT_PID
      # 5秒后重启tomcat
      sleep 5
      $START_TOMCAT
    fi
  else
    echo "[error]tomcat进程不存在,开始启动..."
    echo "[info]$START_TOMCAT,..."
    $START_TOMCAT
  fi
  echo "监测执行完成"
}
# 输出到指定文件中
Monitor>>$TOMCAT_MONITOR_LOG

4.编辑定时器

crontab -e

5.编辑定时器文件,设置每分钟执行一次,加入如下代码并保存

*/1 * * * * /home/user/tomcatMonitor.sh

6.重新加载定时器

systemctl reload crond.service

或者

 

service crond reload

7.输入如下代码可以看到tomcatManitor.sh已经在正常工作,如果log日志有多个tomcat进程应想办法过滤掉,不然会影响tomcat关掉进程和重启

tail tomcatMonitor.log

8.日志记录

linux下查看tomcat宕机并自动重启[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/163633.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ui bug_行为测试

    ui bug_行为测试在大多数开发、测试眼中,UI测试的重要性远小于功能测试、性能测试等,但只要够细心,总能发现一些UIbug或者UI可以改进的地方提高用户体验。录入界面  1.1输入字段要完整,且要与列表字段相符合(参照数据库进行检查)  1.2必填项一律在后面用*表示(必填项为空在处理之前要有相关的提示信息)  1.3字段需要做校验,如果校验不对需要在处理之前要有相关的

    2022年10月30日
  • java websocket client_前端和后端哪个累

    java websocket client_前端和后端哪个累一.WebSocket简单介绍随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了。近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通

  • 光猫桥接关闭dhcp不能打开电信网关了_光猫和路由器桥接

    光猫桥接关闭dhcp不能打开电信网关了_光猫和路由器桥接大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。光猫桥接不要关闭dhcp,连接是默认DHCP模式,这个不能更改。就算有超级用户名登录,也不能删除。对于用户设备来说,DHCP主要完成以下四方面的工作:1、是用户设备自动配置和动态的业务配置对于ACS来说,每个用户设备可以在协议中对自己作出标志(例如型号、版本等),根据可设定的规则,ACS可以对某一个特定用户设备下发配置,也可以对某…

    2022年10月22日
  • pythoncharm怎么保存_pycharm怎么设置代码自动保存「建议收藏」

    pythoncharm怎么保存_pycharm怎么设置代码自动保存「建议收藏」pycharm一般安装完毕,就是默认是自动保存的,但是……但是….既然是程序,既然是软件,就难免出现bug。也许会有码友出现头天晚上写好的代码,打开一看,第二天白花花一片!!!泪奔有没有最简单的,就是每次编写完毕,习惯按ctrl+s手动保存。但是,提醒你务必检查一下你的设置里面,是不是码友弄好自动保存!步骤如下:菜单File->Settings…->Ap…

  • c语言 windows多线程_C语言 多线程

    c语言 windows多线程_C语言 多线程_beginThreadex创建多线程解读一、需要的头文件支持 #include         //for_beginthread()需要的设置:ProjectàSetting–>C/C++–>Userrun-timelibrary选择DebugMultithreaded或者Multithreaded。即使用:MT或MTD。二、解释

  • shell基础 — 基本语法

    shell基础 — 基本语法本文介绍一下shell的语法。一、变量在shell里,使用变量之前通常并不需要事先为他们做出声明,需要使用的时候直接创建就行了。默认情况下,所有变量都被看做字符串并以字符串来存储,即使它们

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号