原创

windows中tomcat挂掉自启

温馨提示:
本文最后更新于 2022年08月23日,已超过 604 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION

rem 链接
set URL="http://localhost:8080/"
rem tomcat目录
set TOMCAT_HOME="D:\soft\apache-tomcat-8.0.53-windows-x64\apache-tomcat-8.0.53"
rem 关闭tomcat命令的路径
set CLOSE_CMD=%TOMCAT_HOME%\bin\shutdown.bat
rem 启动tomcat命令的路径
set START_CMD=%TOMCAT_HOME%\bin\startup.bat
rem tomcat缓存目录
set TOMCAT_CACHE=%TOMCAT_HOME%\work
rem 日志文件的路径
set LOG_PATH=%TOMCAT_HOME%\check.log
rem 每次检测完后等待时间,再进行下一次检测,秒,若将程序部署到系统计划任务,可忽略
set TIME_WAIT=5

:loop
set httpcode=0
cd /d %TOMCAT_HOME%
echo %date% %time%
echo '开始检测 tomcat...'

echo %date% %time% >>%LOG_PATH%
for /l %%i in (1,1,10) do (
	echo %%i
	for /f "delims=" %%r in ('curl -sL -w "%%{http_code}" %URL% -o /dev/null') do (
		set httpcode=%%r
		if !httpcode!==200 (
			GOTO :OUTFOR
		)
	)
)

:OUTFOR
echo %httpcode% >>%LOG_PATH%

if not %httpcode%==200 (
	echo 关闭 tomcat >>%LOG_PATH%
	call %CLOSE_CMD%
	timeout -t 5 >null
	echo 关闭 tomcat >>%LOG_PATH%

	rd /S /Q %TOMCAT_CACHE%
	echo 启动 tomcat >>%LOG_PATH%
	call %START_CMD%
	
	echo 现在启动tomcat...
	echo 现在启动tomcat... >>%LOG_PATH%
) else (
	echo tomcat运行ok
	echo tomcat运行ok >>%LOG_PATH%
)
timeout -t 3 >null
rem 如果将脚本程序部署到系统计划程序中,将以下代码可注释
timeout -t %TIME_WAIT% >null
goto loop

tomcat部署了项目,假如tomcat挂掉,项目就无法访问,这里编写了windows中tomcat挂掉自启bat脚本,复制后记事本中打开,保存.bat后缀,双击运行

正文到此结束
该篇文章的评论功能已被站长关闭
本文目录