16

linux脚本检查tomcat是否启动完毕

 3 years ago
source link: https://www.wencst.com/archives/456
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

linux脚本检查tomcat是否启动完毕

作者: wencst 分类: linux,Uncategorized 发布时间: 2017-01-22 14:24 阅读: 2,888 次

转自http://my.oschina.NET/chinaearl/blog/111830,如有侵权,请通知我,我及时删除。

下面的文件名称为monitor.sh,如果没有执行权限请使用chmod 777 monitor.sh

  1. #!/bin/sh
  2. # func:自动监控tomcat脚本并且执行重启操作
  3. # author:danny
  4. # date:02/20/2013
  5. # DEFINE
  6. # 获取tomcat进程ID
  7. TomcatID=$(ps -ef |grep tomcat |grep -w ‘dw\/apache-tomcat-7.0.34\/conf’|grep -v ‘grep’|awk ‘{print $2}’)
  8. # tomcat启动程序(这里注意tomcat实际安装的路径)
  9. StartTomcat=/home/dw/apache-tomcat-7.0.34/bin/startup.sh
  10. #TomcatCache=/usr/apache-tomcat-5.5.23/work
  11. # 定义要监控的页面地址
  12. WebUrl=http://haoyayi.eyar.com
  13. # 日志输出
  14. GetPageInfo=/dev/null
  15. TomcatMonitorLog=/tmp/TomcatMonitor.log
  16. Monitor()
  17.   echo “[info]开始监控tomcat…[$(date +’%F %H:%M:%S’)]”
  18.   if [[ $TomcatID ]];then # 这里判断TOMCAT进程是否存在
  19.     echo “[info]当前tomcat进程ID为:$TomcatID,继续检测页面…”
  20.     # 检测是否启动成功(成功的话页面会返回状态”200″)
  21.     TomcatServiceCode=$(curl -s -o $GetPageInfo -m 10 –connect-timeout 10 $WebUrl -w %{http_code})
  22.     if [ $TomcatServiceCode -eq 200 ];then
  23.         echo “[info]页面返回码为$TomcatServiceCode,tomcat启动成功,测试页面正常……”
  24.         echo “[error]tomcat页面出错,请注意……状态码为$TomcatServiceCode,错误日志已输出到$GetPageInfo”
  25.         echo “[error]页面访问出错,开始重启tomcat”
  26.         #kill -9 $TomcatID  # 杀掉原tomcat进程
  27.         #sleep 3
  28.         #rm -rf $TomcatCache # 清理tomcat缓存
  29.         #$StartTomcat
  30.     echo “[error]tomcat进程不存在!tomcat开始自动重启…”
  31.     echo “[info]$StartTomcat,请稍候……”
  32.     #rm -rf $TomcatCache
  33.     #$StartTomcat
  34.   echo “——————————“
  35. Monitor>>$TomcatMonitorLog

下面是的这段代码是监控tomcat是否运行,如果运行,则将其停止.文件名称本人叫做shutdown.sh

  1. #!/bin/sh
  2. TomcatID=$(ps -ef |grep hudson-3.01 |grep java | awk ‘ { print $2 } ‘)
  3. echo “tomcat的pid为$TomcatID”
  4. Monitor(){
  5.         echo “[info]开始监控tomcat…[$(date +’%F %H:%M:%S’)]”
  6.         if [[ $TomcatID ]]
  7. # 这里判断TOMCAT进程是否存在
  8.                 echo “tomca启动正常”
  9.                 kill -9 $TomcatID
  10.                 tempTomcatID=$(ps -ef |grep hudson-3.01 |grep java | awk ‘ { print $2 } ‘)
  11.                 if [[ $tempTomcatID ]]
  12.                         echo “停止失败”
  13.                         echo “成功停止”
  14.             echo “tomcat没有启动”
  15. Monitor

下面的代码是启动tomca并将其日志显示出来,文件名称本人叫做startup.sh

  1. cd /home/test/hudson-3.01/bin && ./startup.sh && tail -f ../logs/catalina.out

如果文章对您有用,扫一下支付宝的红包,不胜感激!

欢迎加入QQ群进行技术交流:656897351(各种技术、招聘、兼职、培训欢迎加入)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK