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宕机并自动重启[通俗易懂]

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 软件开发与软件研发的区别「建议收藏」

    软件开发与软件研发的区别「建议收藏」按:这几天我一直在写这篇东西,本来是胸有成竹,没想到后来越写越发现自己在这个题目下有太多话想说,而以我现在的能力又不能很好地概括总结,以至于越写越长,文章结构也变得混乱,到后来修改的时候每次都要考虑好久才能下笔,所以决定拆成两部分来发,以便阅读。这篇写得我心力交瘁,质量不算好,凑合着看吧。同样是写程序,不同的岗位工作内容不一样,对程序质量以及工程师的要求也不一样。程序开发大概可以划分成两类…

    2022年7月16日
    25
  • 安卓system文件夹_system文件丢失

    安卓system文件夹_system文件丢失\system\app这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是/data/文件夹中\system\app\AlarmClock.apk闹钟\system\app\AlarmClock.odex\system\app\Browser.apk浏览器\system\app\Browser.odex\system\app\Bugreport.apkBug报告\system\app\Bug

    2022年10月15日
    0
  • IntelliJ IDEA 2021.5.2激活码【在线注册码/序列号/破解码】

    IntelliJ IDEA 2021.5.2激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    61
  • jsonobject string转json_java jsonobject转string

    jsonobject string转json_java jsonobject转string你需要把字符串利用一些字符串函数得到=》{“name”:”小明”,”pwd”:”123″}再转就可以了。比如:entity({“name”:”小明”,”pwd”:”123″})这种就转化不了,会报错。这里的String是有些要求的,首先它要是json格式,其次json格式中不能出现其他的字符。这里的JSONObject对像是不是hutool这些工具类的哦,是java内部自带这个。代码是我手敲的可能会出错。很简单JSONObject有toSting方法直值调用就好。…

    2022年8月23日
    7
  • matlab2016a下载包及安装教程

    matlab2016a下载包及安装教程链接:https://pan.baidu.com/s/1wMGK5jYxYdqs1IxRDfJl8A 提取码:y72e 复制这段内容后打开百度网盘手机App,操作更方便哦1 下载R2016a_win64.iso(安装文件,包括part1以及part2两部分,只需解压part1)及Matlab2016aWin64Crack.rar(破解文件),百度云盘的提取地址及密码如上所示2 解…

    2022年5月25日
    41
  • 涂鸦模组开发光照传感器的作用_光学模组

    涂鸦模组开发光照传感器的作用_光学模组涂鸦模组开发光照传感器(OPT3006)概述涂鸦智能系统框架设计OPT3006超薄环境光传感器TYZS5模组特点PCB绘制涂鸦零代码开发涂鸦模组开发文章概述亮度传感器是一种常用的智能检测设备,主要利用亮度集成传感器,实时检测环境明暗的亮度数据。它不仅仅适用于智能家居体系,同样被广泛应用于场景中,例如办公楼、酒店、公寓、学校、医院、养老院、商场、餐厅、银行、仓库、街道等。根据外界环境光线的明暗,实现与其它智能设备的联动;还可通过设定延时功能,避免光线瞬间变化造成干扰。在此,分析并选取合适的平台、传

    2022年9月29日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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