linux shell自动重启tomcat脚本

shell脚本里执行tomcat startup.sh 无法启动tomcat问题处理-20171012


问题描述:

命令行执行shell脚本,tomcat能正常kill后启动,但是添加到crontab定时执行时,查看执行日志,
Shell脚本确实已经执行但是没有启动tomacat,shell脚本如下:
#!/bin/sh
source /etc/profile
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=axjsms
HOME=/
export BACK_DATE=`date +%Y-%m-%d" "%H:%M:%S`
pid=`ps aux |grep tomcat_9007 |grep -v grep |grep -v retomcat | awk '{print $2}'`  
    echo $pid  
    if [ -n "$pid" ]  
    then  
    {  
            echo $BACK_DATE =====kill tomcat ==========  >> /home/axjsms/shell/retomcatLog.txt
            kill -9 $pid  
            sleep 3  
            echo $BACK_DATE =====start tomcat ==========  >> /home/axjsms/shell/retomcatLog.txt
            /home/axjsms/tomcat_9007/bin/startup.sh 

  
    }  
    else
    echo $BACK_DATE =========startup.sh 

 =============  >> /home/axjsms/shell/retomcatLog.txt
    /home/axjsms/tomcat_9007/bin/startup.sh 
    fi 


问题分析:

tail -f /var/spool/mail/axjsms查看crontab执行日志,看到报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined,分析为启动tomcat无法加载java环境JAVA_HOME,导致tomcat无法启动

问题处理:

切换到tomcat_9007/bin目录下,vi catalina.sh 添加
export  JAVA_HOME=/usr/java/jdk1.8.0_91
export  JRE_HOME=/usr/java/jdk1.8.0_91/jre
,环境添加后,执行shell脚本,tomacat正常杀死和启动。

你可能感兴趣的:(linux,日常运维汇总)