在Windows下tomcat进程监控批处理程序脚本如下:
@echo off
::tomcat安装目录
set _tomcatDir=E:\myFiles\apache-tomcat-8.5.31
set _curlDir=E:\myFiles\apache-tomcat-8.5.31\curl
set "httpcode="
::访问tomcat
cd /d %_curlDir%
for /f "delims=" %%r in ('CURL.EXE -m 60 --connect-timeout 60 -sL -w "%%{http_code}" "http://127.0.0.1:8080/login" -o %_curlDir%\visit.info') do (
set httpcode=%%r
)
::根据访问状态码判断运行状态
if not "%httpcode%"=="200" (
echo tomcat program dead,will restart
::删除缓存
rd /q/s "%_tomcatDir%\work\Catalina"
::关闭tomcat
start /D "%_tomcatDir%\bin" shutdown.bat
::暂停15秒等待关闭程序完成
ping -n 15 127.0.0.1 > nul
::启动tomcat
start /D "%_tomcatDir%\bin" startup.bat
) else (
echo tomcat running ok
)
需要下载一个CURL.exe程序,官网地址为: https://curl.haxx.se/download.html
在官网拖到最下方,下载此程序包
然后把编辑好的监控批处理添加打定时任务中,步骤如下:
把批处理程序添加进定时任务,步骤如下:
a、控制面板à管理工具à计划任务 |
b、创建新任务 |
c、输入任务名称: |
d、添加要定时执行的批处理程序 |
e、添加触发条件: |
确定后,可以点击左侧计划程序库,找到刚刚编辑的任务,进行属性修改 |
保存,输入密码,由于选择的是不管用户是否登录都执行,那么还得配置一下组策略,不然定时任务执行会报错,添加组策略如下:
控制面板à工具管理à本地安全策略à本地策略à用户权限分配à作为批处理作业登录 |
添加指定用户 |
PS:注意域账户的不一定能添加用户,其按钮是置灰的,可能有更高权限的组策略,需要联系运维人员