写一个监测服务状态的脚本,内容如下
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
rem 链接
set URL="http://localhost:8080/login.jsp"
rem tomcat目录
set TOMCAT_HOME="C:\Program Files (x86)\Test\tomcat"
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%\HuanCun
rem 日志文件的路径
set LOG_PATH=%TOMCAT_HOME%\logs
rem 每次检测完后等待时间,再进行下一次检测,秒,若将程序部署到系统计划任务,可忽略
set TIME_WAIT=5
:loop
set httpcode=0
cd /d %TOMCAT_HOME%
echo %date% %time%
echo 'begin checking 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 close tomcat >>%LOG_PATH%
call %CLOSE_CMD%
timeout -t 5 >nul
echo success to close tomcat >>%LOG_PATH%
rd /S /Q %TOMCAT_CACHE%
echo start tomcat >>%LOG_PATH%
call %START_CMD%
echo success to start tomcat
echo success to start tomcat >>%LOG_PATH%
) else (
echo the tomcat run is ok
echo the tomcat run is ok >>%LOG_PATH%
)
timeout -t 3 >nul
rem 若将脚本程序部署到系统计划程序中,将以下代码可注释
timeout -t %TIME_WAIT% >nul
goto loop
若在Windows或Linux系统下运行此脚本时,提示curl不是内部或外部命令时则应该在该系统下安装curl,安装curl的步骤如下:
1、curl的下载地址为:curl.haxx.se/download.ht…
打开网页,找到对应系统的zip,以Windows为例,如下图所示:

下载完成后解压到指定的文件中 在系统高级配置环境中,配置
CURL_HOME D:\DevelopSoftWare\DownLoadSoftWare\curl-7.56.1
path 追加 ;%CURL_HOME%\I386


输入curl --help监测是否安装成功,安装成功后的截图如下所示:
