java 通过shell 管理 tomcat

1. java代码

 		String tomcat_state = (String) config.getProperty("monitor_path"); // 检测tomcat
        Process ps =Runtime.getRuntime().exec(tomcat_state);
        ps.waitFor();
        InputStream in = ps.getInputStream();
        BufferedReader br = new BufferedReader(new InputStreamReader(in));
        StringBuffer sb = new StringBuffer();
        String line = "";
        while ((line = br.readLine()) != null) {
            sb.append(line);
        }
        System.err.println(sb.toString());

2. 关闭tomcat shell脚本 stop.sh

#! /bin/bash
tomcat_home=/opt/module/tomcats/apache-tomcat-9.0.0.M15-8086
SHUTDOWN=${tomcat_home}/bin/shutdown.sh
StartTomcat=${tomcat_home}/bin/startup.sh
TomcatCache=${tomcat_home}/work
	echo "开始停止 tomcat"
	${SHUTDOWN}
	sleep 2
	TomcatID=$(ps -ef |grep tomcat |grep -w 'apache-tomcat-9.0.0.M15-8086'|grep -v 'grep'|awk '{print $2}') 
	if [! $TomcatID ];then # 这里判断TOMCAT进程是否存在  
		echo "[info] tomcat停止成功  success"  
  	else  
	echo "[info]当前tomcat进程ID为:$TomcatID  tomcat停止成功  success "
    	kill -9 $TomcatID   
    fi  

3. 启动tomcat shell 脚本 start.sh

#! /bin/bash
tomcat_home=/opt/module/tomcats/apache-tomcat-9.0.0.M15-8086
SHUTDOWN=${tomcat_home}/bin/shutdown.sh
StartTomcat=${tomcat_home}/bin/startup.sh
TomcatCache=${tomcat_home}/work
#定义要监控的页面地址  
WebUrl=http://ip:8086/

  echo "[info]tomcat.start"
  ${StartTomcat}
  sleep 3
  TomcatID=$(ps -ef |grep tomcat |grep -w 'apache-tomcat-9.0.0.M15-8086'|grep -v 'grep'|awk '{print $2}') 
  if [ ! $TomcatID ];then # 这里判断TOMCAT进程是否存在  
    echo "[error]tomcat进程不存在!tomcat启动出错...error"  
  else  	
	 echo "[info]当前tomcat进程ID为:$TomcatID,休眠60s后检测页面..."
     sleep 60  
     #访问监控地址,检测是否启动成功(成功的话页面会返回状态"200")  
     TomcatServiceCode=$(curl -I -m 10 -o /dev/null -s -w %{http_code} $WebUrl)  
     if [ $TomcatServiceCode -eq 200 ];then  
        echo "[info]tomcat启动成功...success"  
     elif [ $TomcatServiceCode -eq 000 ];then  
    	  echo "[error]tomcat启动出错...error"  
     else  
        echo "[error]tomcat启动出错...error"  
     fi  
  fi  

4. 检测tomcat 是否启动 monitor.sh

#! /bin/sh
#定义要监控的页面地址  
WebUrl=http://ip:8086/
TomcatID=$(ps -ef |grep tomcat |grep -w 'apache-tomcat-9.0.0.M15-8086'|grep -v 'grep'|awk '{print $2}')
if[!TomcatID];then
	TomcatServiceCode=$(curl -I -m 10 -o /dev/null -s -w %{http_code} $WebUrl)  
	    if [ $TomcatServiceCode -eq 200 ];then  
	       echo "tomca启动正常 success"
	
	    elif [ $TomcatServiceCode -eq 000 ];then  
	    	 echo "tomcat没有启动 error"   
	       
	    else  
	        echo "[error]tomcat启动出错...error"  
	    fi  
else
	echo "[error]tomcat启动出错...error"  
fi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值