liunx上项目挂掉,自动重启脚步

由于项目占内存比较大,其他项目和该项目一起运行到一定程度的时候,有时候会因为内存超过机器的承受,自动关闭

但是其他服务需要调用到这个服务,所以该项目不能关闭,这时候我们就要写一个脚本自动重启Tomcat

原理是识别该服务(项目)的一个图片,如果不能访问到就重启Tomcat

#!/bin/sh
# 获取tomcat的PID
TOMCAT_PID=$(ps -ef|grep tomcat-creaker|grep -w 'tomcat'|grep -v 'grep'|awk '{print $2}')
# tomcat的启动文件位置,你Tomcat的启动脚本
START_TOMCAT=/usr/program/cmd/restart__timing.sh
# 需要监测的一个GET请求地址(图片地址)
MONITOR_URL=http://www.baidu.com/Admin/statics/images/login_bg.jpg
# 监测日志输出路径
TOMCAT_MONITOR_LOG=/usr/program/logs/tomcat_monitor/tomcat_monitor.log
Monitor()
{
  # 输出时间,注意date后有个空格
  echo "[$(date +'%F %H:%M:%S')]"
  echo "[info]开始监控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]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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值