一直想写个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结束。希望本文对您有所帮助!
windows系统批处理脚本自动循环验证tomcat中startup.bat执行结束
最新推荐文章于 2023-03-14 13:38:07 发布