Linux Tomcat自动检测、重启


Linux Tomcat自动检测、重启
 
    客户的机器有时遇见宕机的情况,虽然我在Linux服务器上配置了Tomcat自启动程序,可以在机器重启的时候自动部署web应用。但是,当数据库服务器与Web应用服务器不能同时启动的时候,Tomcat启动项目就失败了。最后,写了shell脚本,来自动判断是否有tomcat进程,如果没有的话,就重启tomcat,否则,不执行任何操作,并将tomcat启动日志写到文件里。脚本如下:
Java代码  
  #/bin/bash    
  #############################################    
  # author zhao yanan    
  # date 2010/08/23    
  # update 2011/01/10    
  # Automatic detection and restart tomcat    
  #############################################    
     
  #脚本可写入到自动任务中,执行周期可根据tomcat起停时间长短来定,如下,每天0点到20点之间每隔10分钟检查一次    
  #echo "*/3 0-24 * * * root /root/script/tomcat_check.sh  >> /root/script/tomcat_check.log 2>&1" >> /etc/crontab    
     
  echo ========================================    
  date   
  PROCESS_NUM=`ps -ef | grep tomcat | grep -v "grep" | wc -l`  
  if [ $PROCESS_NUM -lt 1 ]; then                                  # 判断是否有Tomcat进程,如果没有,则执行接下来的任务,否则执行else后的任务。    
  #   java Environment variables                                #设置jdk的环境变量,根据自已的实际情况设定    
export JAVA_HOME=/usr/local/jdk1.6.0_25  
export PATH=$JAVA_HOME/bin:$PATH   
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
export CATALINA_HOME=/usr/local/tomcat  
  
    echo "restart tomcat."   
    ${CATALINA_HOME}/bin/shutdown.sh                          #关闭tomcat    
    sleep 5                                                #等待tomcat关闭,一般是1~150s不等    
    kill -9 `ps aux|grep "/usr/local/tomcat"|grep -v grep|awk '{print $2}'`  #等待时间结束后,偿试强制结束tomcat进程    
    sleep 5    
    ${CATALINA_HOME}/bin/catalina.sh run    
    sleep 5       
  else   
      echo "checked."                                           #首页下载成功,提示已检查    
  fi   
 
 
 

相关内容

    暂无相关文章