监测Tomcat项目宕机重启脚本(Linux)

1.准备好写好的脚本

#!/bin/sh
# 获取tomcat的PID
TOMCAT_PID=$(ps -ef | grep tomcat | grep -v 'tomcatMonitor'  |grep -v 'grep' | awk '{print $2}')
# tomcat的启动文件位置
START_TOMCAT=/mnt/tomcat/bin/startup.sh
# 需要监测的一个GET请求地址
MONITOR_URL=http://localhost:8080/api/sys/get-account
# 监测日志输出路径
TOMCAT_MONITOR_LOG=/mnt/tomcatMonitor.log
Monitor(){# 输出时间,注意date后有个空格echo "[$(date +'%F %H:%M:%S')]:开始监控tomcat..."# 判断tomcat的PID是否存在,如不存在说明tomcat进程已关闭,注意[]前后,变量前后,都要有空格if [[ $TOMCAT_PID ]];thenecho "[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 ]];thenecho "[info]页面返回码为$HTTP_REPONSE_STATUS,tomcat启动正常..."elseecho "[error]页面返回码为$HTTP_REPONSE_STATUS,开始重启tomcat..."# 结束tomcat进程kill -9 $TOMCAT_PID# 5秒后重启tomcatsleep 5$START_TOMCATfielseecho "[error]tomcat进程不存在,开始启动..."echo "[info]$START_TOMCAT,..."$START_TOMCATfiecho "监测执行完成"
}
# 输出到指定文件中
Monitor>>$TOMCAT_MONITOR_LOG

2.给脚本文件授权

chmod 777 /mnt/tomcat/tomcatMonitor.sh

3.编写定时任务
crontab -e命令进入编辑模式
每分钟执行一次
在这里插入图片描述
crontab -l命令即可列出当前用户的所有定时任务
在这里插入图片描述
4.查看日志文件

tail -f /mnt/tomcatMonitor.log

在这里插入图片描述
大功告成!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/441422.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

移动端基础:rem适配布局

rem单位 rem是相对单位,类似于em 但rem的基准是相对于HTML元素的字体大小 rem的优点是可以通过修改HTML文字大小改变页面元素大小,做到整体控制 媒体查询 使用media查询,可以针对不同的媒体类型定义不同的样式 可以针对不同的屏幕尺寸设…

Unity_Timeline使用说明

Unity_Timeline使用说明 首先要找到工具吧?Unity2023.1.19f1c1打开如下: (团结引擎没找见哪儿打开,可能是引擎问题吧?有知道的同学可以告诉我在哪儿打开) Timelime使用流程: 打开之后会提示您…

android文本显示

目录 一.设置文本的内容 方法一 方法二 二.设置文本的大小 三.设置文本的颜色 创建新的模块 一.设置文本的内容 方法一 方法二 二.设置文本的大小 用快捷方式创建activity 换成线性布局 sp单位的会更具系统字体变大则变大 三.设置文本的颜色 八位十六进制 0xff00ff00 …

深度学习(9)--pydot库和graphviz库安装流程详解

目录 一.pydot库安装 二.graphviz库安装 一.pydot库安装 pydot的安装可直接在编译器安装相关包,以PyCharm举例: 如果搜索可用软件包显示为空,记得在此处把使用Conda软件包管理器”点亮 二.graphviz库安装 点击链接下载安装包graphviz-2.38…

【遥感专题系列】遥感影像信息提取之——人工目视解译

​遥感影像通过亮度值或像元值的高低差异(反映地物的光谱信息)及空间变化(反映地物的空间信息)来表示不同地物的差异,这是区分不同影像地物的物理基础。 ​人工解译是目前国内使用最多的一种影像提取方法,如…

医院安全(不良)事件报告系统源码,不良事件处理的全过程管理,实现11大类不良事件类型的报告上报、流转审批、跟踪改进及统计分析功能。

医院安全(不良)事件报告系统源码,不良事件上报系统源码,PHP源码 医院安全(不良)事件报告系统提供11大类不良事件的上报、事件审核处理、时间按分析、事件跟踪与持续改进,事件提醒、权限控制、外…

Walrus 实用教程|Walrus + Gitlab,打通CI/CD 自动化交付!

Walrus file 是 Walrus 0.5 版本推出的新功能,用户可以通过一个非常简洁的 YAML 描述应用或基础设施资源的部署配置,然后通过 Walrus CLI 执行 walrus apply或在 Walrus UI 上进行import,将 Walrus file 提交给 Walrus server,由 …

C++---动态内存分配 new delete

在C中,new和delete 是用于动态内存分配和释放的关键字。 一.利用new创建内存🍗 new是在堆区申请一块连续的内存空间,如果申请成功,则返回内存指针;如果申请失败,则返回NULL;new申请内存空间的过程,通常称为…

回归预测 | Matlab实现CPO-SVR冠豪猪优化支持向量机的数据多输入单输出回归预测

回归预测 | Matlab实现CPO-SVR冠豪猪优化支持向量机的数据多输入单输出回归预测 目录 回归预测 | Matlab实现CPO-SVR冠豪猪优化支持向量机的数据多输入单输出回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab实现CPO-SVR冠豪猪优化支持向量机的数据多输入…

linux 下gdal库(python)

之前在windows下安装gdal,先要下安装包再安装。这次在linux上安装,试了一下pip install gdal,不可以。想着linux应该一样,结果一搜网上教程一堆,乱七八糟的。 搞了一个小时 最后发现一句话就可以!&#xf…

干货 | 大模型在图数据分析、推荐系统和生物科学中的综合应用

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 图机器学习、推荐系统与大语言模型的融合正成为新的前沿热点。图机器学习通过利用图结构数据,能够有效地捕捉和分析复杂关系和模式。同时,推荐系统正逐步成为我们日常生活的一部分&#…

华为——NGFW Module安装在集群交换机上,二层双机负载分担部署,交换机重定向引流

NGFW Module安装在集群交换机上,二层双机负载分担部署,交换机重定向引流 业务需求 如图1所示,两台交换机集群组网,两块NGFW Module分别安装在两台交换机的1号槽位组成双机负载分担组网。NGFW Module工作在二层,也就是…