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

本文介绍了一个使用Shell脚本实现的Tomcat服务自动监控和重启功能,包括获取PID、检查响应状态、定期执行以及日志管理。通过Cron定时任务每分钟执行一次,确保服务稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 ]];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]页面返回码为$HTTP_REPONSE_STATUS,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

2.给脚本文件授权

chmod 777 /mnt/tomcat/tomcatMonitor.sh

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

tail -f /mnt/tomcatMonitor.log

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CXY_BOY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值