当前位置: 首页 > news >正文

监测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

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

相关文章:

  • uniapp中封装一个svg转base64的组件
  • 算法练习03——滑动窗口
  • 氢气泄漏检测仪使用方法:守护安全,从细节开始
  • C++ 之LeetCode刷题记录(二十七)
  • 微服务框架go-zero集成swagger在线接口文档
  • 科普类(遥操作)——快速索引
  • 比瓴科技入围软件供应链安全赛道!为关键信息基础设施安全建设注入新动力
  • 银行数据仓库体系实践(8)--主数据模型设计
  • 如何手机搜智慧职教答案?3个受欢迎的搜题分享了 #微信#学习方法#笔记
  • 深度学习入门笔记(七)卷积神经网络CNN
  • FreeRTOS任务挂起以及延时部分源码分析
  • 计算机网络第4章(网络层)
  • 【数据结构】单向链表实现 超详细
  • DAO设计模式
  • Vue打包Webpack源码及物理路径泄漏问题解决
  • ES6指北【2】—— 箭头函数
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • ES2017异步函数现已正式可用
  • Git 使用集
  • JAVA_NIO系列——Channel和Buffer详解
  • js ES6 求数组的交集,并集,还有差集
  • js对象的深浅拷贝
  • MaxCompute访问TableStore(OTS) 数据
  • SAP云平台里Global Account和Sub Account的关系
  • Terraform入门 - 3. 变更基础设施
  • 百度地图API标注+时间轴组件
  • 码农张的Bug人生 - 初来乍到
  • 模型微调
  • 你真的知道 == 和 equals 的区别吗?
  • 小程序button引导用户授权
  • 学习笔记TF060:图像语音结合,看图说话
  • 应用生命周期终极 DevOps 工具包
  • 自动记录MySQL慢查询快照脚本
  • Java数据解析之JSON
  • # Java NIO(一)FileChannel
  • #define用法
  • #if #elif #endif
  • #include
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • ()、[]、{}、(())、[[]]命令替换
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .chm格式文件如何阅读
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .net core 连接数据库,通过数据库生成Modell
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .NET使用存储过程实现对数据库的增删改查
  • .net下的富文本编辑器FCKeditor的配置方法
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码
  • [2023-年度总结]凡是过往,皆为序章
  • [ArcPy百科]第三节: Geometry信息中的空间参考解析
  • [AX]AX2012 SSRS报表Drill through action
  • [BUUCTF]-PWN:wustctf2020_number_game解析(补码,整数漏洞)