您的位置:首页 > 运维架构 > Tomcat

windows系统批处理脚本自动循环验证tomcat中startup.bat执行结束

2016-03-28 23:16 447 查看
一直想写个windows批处理命令将项目版本包部署到tomcat。在网上找了找并没有相关例子。只能自己写了一个验证tomcat中shutdown.bat执行结束。

自动部署的操作步骤:

color  a

cd C:\MyWorkSpace\cmbc\apache-tomcat-7.0.55\   ::进tomcat的安装根目录

::第一步:停止运行中的tomcat,(已停止则无需了)。

cd ./bin

start "" "shutdown.bat"

ping 127.0.0.1 -n 10>nul  ::等待10秒差不多已经停止完毕,  也可以自己写个校验命令 循环校验  比如验证tomcat的端口是否存在(原理可同第三步)等等。

::第二步:拷贝部署包操作  或者其他的一些关于项目的操作等等。 自己写

copy c:\temp ../workapp

::第三步:启动tomcat并循环验证是否启动成功

start "" "startup.bat" 

set Today=%date:~0,4%-%date:~5,2%-%date:~8,2%      ::获取当天日期。

::判断是否启动成功原理

::在启动tomcat最后的时候都会在catalina.log中打印INFO: Server startup in,可以此判定启动结束(至于完全成功不报错的情况好判断,报错的情况太多不好判断)

:isStartOK              ::设置判断启动结束节点

cd ../logs

set aline=0

set alastLine=0

for /f "tokens=1 delims=~" %%i in ("catalina.%Today%.log") do echo %%i >>nul&&set /a aline+=1

echo %aline%

set /a alastLine=%aline%-1

echo  %alastLine%

more +%alastLine% catalina.%Today%.log  > jieguo.txt

for /f "delims=" %%a in (jieguo.txt) do (

      set textBox=%%a

)

echo %textBox%

echo %textBox%|find /i "INFO: Server startup in">nul 2>nul&&goto isStartYes||goto isStartNo

::正在启动  停止10秒 

:isStartNo

  echo tomcat正在启动

  ping 127.0.0.1 -n 10>nul  

  goto isStartOK

::启动结束

:isStartYes

echo tomcat启动结束

  cd ../bin

  start "" "shutdown.bat"  

  

  

  

同样的原理可以验证tomcat是否执行shutdown.bat结束。希望本文对您有所帮助!

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: