龙空技术网

记录一次Tomcat生产事故

五十转行学软开的男人 85

前言:

当前我们对“tomcat服务自己停了的原因”大体比较注意,咱们都想要剖析一些“tomcat服务自己停了的原因”的相关知识。那么小编也在网上网罗了一些对于“tomcat服务自己停了的原因””的相关知识,希望朋友们能喜欢,兄弟们快快来了解一下吧!

23年11月03日接客户投诉生产环境应用不能访问,经过确认应用服务器Tomcat挂掉。

马上解决,快速解决……

思路:编写脚本监测Tomcat进程,若没有该进程马上启动Tomcat。

在Linux根目录下创建一个 /datas/monitor.sh 脚本文件,文件内容如下:

#!/bin/sh# 获取tomcat进程IDTomcatID=$(ps -ef |grep tomcat |grep -w 'tomcat'|grep -v 'grep'|awk '{print $2}')# tomcat启动程序,/datas/apache-tomcat-8.5.84/bin/startup.sh为tomcat的启动脚本StartTomcat=/datas/apache-tomcat-8.5.84/bin/startup.shTomcatCache=/datas/apache-tomcat-8.5.84/work# 启动脚本打印的日志TomcatMonitorLog=/tmp/TomcatMonitor.logMonitor(){echo "[info]开始监控tomcat...[$(date +'%F %H:%M:%S')]"if [ $TomcatID ];then  #这里判断Tomcat进程是否存在  echo "[info]tomcat正在运行,进程ID为:$TomcatID"else  echo "[error]tomcat进程不存在!tomcat开始自动重启..."  echo "[info]$StartTomcat,请稍候..."  rm -rf $TomcatCache  $StartTomcatfiecho "-------------end------------"}Monitor>>$TomcatMonitorLog
修改 $TOMCAT_HOME/bin/setclasspath.sh 文件,在文件的开始添加 JAVA_HOMEJRE_HOME,如下图所示:

添加系统的定时调度(硬件服务器级别的),修改 /etc/crontab 文件,在文件末尾添加如下内容:

通过 tail -f /tmp/TomcatMonitor.log 查看脚本执行清空,如果没有运行,执行 systemctl restart crond 重启Linux定时调度。

Tomcat突然停掉暂时还没有找到具体原因。

标签: #tomcat服务自己停了的原因