Linux定时任务监控tomcat运行状态,宕机自动启动

2 篇文章 0 订阅
  1. tomcat在运行的时候,由于各种原因会出现挂掉情况,以下用Shell脚本监控并实现自动启动
    shell脚本这里为其命名为monitor.sh

    #!/bin/sh  
    # function:自动监控tomcat进程,宕机就执行重启操作   
    
    # 定义环境变量  
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/java/jdk1.8.0_25/bin  
    export JAVA_HOME=/usr/local/java/jdk1.8.0_25  
    export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar  
    export PATH=$PATH:$JAVA_HOME/bin  
      
    # 获取tomcat PPID  
    pid=$(ps -ef|grep apache-tomcat-8.5.32|grep -v grep | awk '{print $2}') 
      
    # tomcat_startup  
    startTomcat=/home/apache-tomcat-8.5.32/bin/startup.sh  
    stopTomcat=/home/apache-tomcat-8.5.32/bin/shutdown.sh
    step=3 #间隔的秒数,不能大于60 
       
    # 日志输出  
    monitorLog=/home/monitor/logs/monitor.log 
    
    Monitor()  
    {  
      echo "[info]开始监控tomcat...[$(date +'%F %H:%M:%S')]"  
      echo "[info]tomcat进程ID为:$pid. " 
      if [ -n "$pid" ];then  
        echo "[info]tomcat进程ID为:$pid. 运行正常" 
      else  
        echo "[error]进程不存在! Tomcat自动重启..."  
        echo "[info]$stopTomcat, 关闭Tomcat"
        $stopTomcat
        sleep $step 
        echo "[info]$startTomcat, 开启Tomcat"
        $startTomcat  
      fi  
      echo "------------------------------"  
    }  
    Monitor>>$monitorLog
    
  2. 脚本.sh新建后没有可执行权限,需要为其添加可执行权限

    chmod u+x monitor.sh

    备注: chmod是权限管理命令、u代表所有者、x代表执行权限、 + 表示增加权限

  3. 配置定时任务,这里用crontab
    3.1 执行:crontab -e
    3.2 添加如下,下面是一分钟执行一次

    * * * * *  sleep 1; /home/monitor/monitor.sh
    

    3.3 查看定时任务:crontab -l
    3.4 重启定时任务:service crond start

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值