Linux定時任務監控tomcat運行狀態,宕機自動啓動

  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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章