该脚本建议放在tomcat所在服务器上,新建/root/script目录,脚本放在该目录。不过因网络、硬件或系统严重故障导致邮件无法通知。脚本某些功能可以去除,放在其它服务器..."> 该脚本建议放在tomcat所在服务器上,新建/root/script目录,脚本放在该目录。不过因网络、硬件或系统严重故障导致邮件无法通知。脚本某些功能可以去除,放在其它服务器..." /> 该脚本建议放在tomcat所在服务器上,新建/root/script目录,脚本放在该目录。不过因网络、硬件或系统严重故障导致邮件无法通知。脚本某些功能可以去除,放在其它服务器..." />
用户登录
用户注册

分享至

Tomcat自动检测和重启脚本(Linux)

  • 作者: Turbo5848615
  • 来源: 51数据库
  • 2020-08-28
editor-side-new">

该脚本建议放在tomcat所在服务器上,新建/root/script目录,脚本放在该目录。

不过因网络、硬件或系统严重故障导致邮件无法通知。脚本某些功能可以去除,放在其它服务器仅做为监控或重启Tomcat也可以。

    #/bin/bash  
    #############################################  
    # author zhao yanan  
    # date 2010/08/23  
    # update 2011/01/10  
    # Automatic detection and restart tomcat  
    #############################################  
     
    #脚本可写入到自动任务中,执行周期可根据tomcat起停时间长短来定,如下,每天0点到20点之间每隔10分钟检查一次  
    #echo "*/10 0-20 * * * root /root/script/tomcat_check.sh  >> /root/script/tomcat_check.log 2>&1" >> /etc/crontab  
     
    echo ========================================  
    date 
    cd /root/script  
    rm -f index.html                                              #删除之前已下载的首页  
    wget -T 10 -t 3 -q http://XXX.XXX.XXX.XXX/index.html          #下载首页,失败后最多偿试3次,每次间隔10秒  
     
    if [ ! -e index.html ]; then                                  #判断首页是否下载成功,如果失败,则执行接下来的任务,否则执行else后的任务。  
    #   java Environment variables                                #设置jdk的环境变量,根据自已的实际情况设定  
        export JAVA_HOME=/opt/jdk1.6.0_21  
        export CLASSPATH=.:$JAVA_HOME/lib/tools.jar  
        export CATALINA_HOME=/opt/apache-tomcat-6.0.26  
        export PATH=$JAVA_HOME/bin:$PATH  
     
        echo "restart tomcat." 
        ${CATALINA_HOME}/bin/shutdown.sh                          #关闭tomcat  
        sleep 150                                                 #等待tomcat关闭,一般是1~150s不等  
        kill -9 `ps aux|grep "/usr/local/tomcat"|grep -v grep|awk '{print $2}'`  #等待时间结束后,偿试强制结束tomcat进程  
        sleep 5  
        ${CATALINA_HOME}/bin/startup.sh  
        sleep 5                                                   #等待tomcat启动,一般是1~150s不等  
    /usr/sbin/sendmail -t <<EOF                                   #发送邮件通知,以下项前面请不要添加空格,生产使用时请删除此注释  
    From: web server <root@localhost>                             #邮件发件人,生产使用时请删除此注释  
    To: username@gmail.com                                        #主送邮件地址,注意,大部分邮件接收服务器不接受没有fully-qualified的邮件,一般会失败,生产使用时请删除此注释  
    Cc: username@gmail.com                                        #抄送邮件地址,生产使用时请删除此注释  
    Subject: Alarm:tomcat restart                                 #邮件标题,生产使用时请删除此注释  
    ----------------------------------                            #邮件内容,生产使用时请删除此注释  
    In just restarted tomcat.  
    ----------------------------------  
    EOF                                                           #该符号前面不能有空格,生产使用时请删除此注释  
    else 
        echo "checked."                                           #首页下载成功,提示已检查  
    fi

 


 附件中的脚本文件是有DOS换行符(CR/LF)的,复制文件中的内容到SSH客户端没有问题,如果直接拷贝文件到Linux系统中,可先运行下面的命令:

mv example_tomcat_check.txt example_tomcat_check.sh
dos2unix  example_tomcat_check.sh


原文:http://www.zhaoyanan.cn/linux-tomcat-automatically-detect-and-restart-script.html

软件
前端设计
程序设计
Java相关