监控tomcat进程,且自动重启

📘:本文主要内容为:在Linux系统下,利用脚本对tomcat的运行状态进行实时监控。

📕:可以不用通过人为检测控制tomcat服务器的启动,一般是在集成环境下进行使用。


正文内容

  1. 创建脚本文件

在Linux根目录下创建一个 `/datas/monitor.sh` 脚本文件 【文件目录自定即可

#脚本内容如下:
#!/bin/sh
# 获取tomcat进程ID
TomcatID=$(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.sh
TomcatCache=/datas/apache-tomcat-8.5.84/work

# 启动脚本打印的日志
TomcatMonitorLog=/tmp/TomcatMonitor.log

Monitor()
{
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
  $StartTomcat
fi
echo "-------------end------------"
}
Monitor>>$TomcatMonitorLog

❗❗❗❗❗❗❗❗❗❗

在给StartTomcat和TomcatCache这两个属性设置文件路径的时候一定要和本机上的tomcat路径保持一致,不然会出现脚本运行之后没有反应的情况。还要注意自己电脑上软件的版本号!!

  1. 给tomcat的某个配置文件追加内容

修改 `$TOMCAT_HOME/bin/setclasspath.sh` 文件,在文件的开始添加 `JAVA_HOME` 和 `JRE_HOME`

该路径可以参考配置JAVA环境变量时候的存放路径。[vi /etc/profile]来查看jdk的环境变量配置,同时也要确保版本和自己电脑上面的保持一致

#在tomcat->bin->setclasspath.sh文件中设置jdk的环境变量
export JAVA_HOME=/datas/jdk1.2.0_60
export JRE_HOME=/datas/jdk1.2.0_60/jre
  1. 添加系统定时调度

修改 `/etc/crontab` 文件,在文件末尾添加如下内容:

#编辑系统文件(没有安装vim指令,vi指令也可以)
vim /etc/crontab
#添加内容如下:crontab命令,表示每分钟执行一次脚本
*/1 *  *  *  * root /datas/monitor.sh
  1. 查看并且修改文件权限

给该文件添加权限,到最高(详细内容可以去了解一下chmod指令)

chmod 777 /datas/monitor.sh
  1. 查看脚本,执行清空

#查看脚本执行清空(在第一步新建文件的时候就已经设置过日志的路径了)
tail -f /tmp/TomcatMonitor.log

#重启Linux定时调度,如果运行上述指令后,没有日志出现,可以运行下面的指令
systemctl restart crond

#也可以通过自己手动开启脚本(上述执行过后都没问题了,就不用执行此指令了)
/datas/monitor.sh run
  1. 结果展示

  1. 每过一分钟都会输出一条日志,

  1. 可以再打开一个会话窗口,通过进程ID来故意杀死tomcat进程,观察日志文件是否会输出重新启动服务的日志。杀死进程:

#表示强行杀死进程 【[PID] 表示想要杀死的进程ID】
kill -9 [PID]
  1. 可以通过ip+端口号的方式访问tomcat官网(访问之前确认自己的防火墙是关闭状态

  1. 上述测试都完成,及表示检测成功。

  1. 效果图展示如下:



🙏本次文章到此结束啦~欢迎观众老爷子指正

📚希望大家可以在评论区交流学习鸭~~~

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值