快速业务通道

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

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-14

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

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

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

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

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号