tomcat创建bat启动,结合任务计划实现自动重启tomcat服务

1,创建XXX项目启动.bat,修改tomcat服务名以及日志地址

@echo off

:: 设置服务名(根据你的实际情况修改)

set SERVICE_NAME=Tomcat8

:: 日志文件路径(确保目录存在)

set LOG_FILE=D:\tomcat7\logs\restart.log

:: 获取当前时间

for /f "tokens=1-4 delims=/ " %%a in ('date /t') do (

for /f "tokens=1-3 delims=: " %%x in ('time /t') do (

set CURRENT_TIME=%%a %%b %%c %%x:%%y

)

)

:: 写入日志函数

echo [INFO] %CURRENT_TIME% - 开始执行重启任务 >> "%LOG_FILE%"

:: 查询服务状态

sc query "%SERVICE_NAME%" | findstr /i "RUNNING" >nul 2>&1

if %errorlevel% == 0 (

echo [INFO] %CURRENT_TIME% - 服务 %SERVICE_NAME% 正在运行,准备停止... >> "%LOG_FILE%"

net stop "%SERVICE_NAME%" >> "%LOG_FILE%" 2>&1

if %errorlevel% == 0 (

echo [INFO] %CURRENT_TIME% - 服务已成功停止 >> "%LOG_FILE%"

) else (

echo [ERROR] %CURRENT_TIME% - 停止服务失败,请检查! >> "%LOG_FILE%"

)

timeout /t 10 >nul

) else (

sc query "%SERVICE_NAME%" | findstr /i "STOPPED" >nul 2>&1

if %errorlevel% == 0 (

echo [INFO] %CURRENT_TIME% - 服务 %SERVICE_NAME% 已停止,跳过关闭步骤 >> "%LOG_FILE%"

) else (

echo [WARN] %CURRENT_TIME% - 服务 %SERVICE_NAME% 状态未知(可能未安装或禁用) >> "%LOG_FILE%"

)

)

:: 启动服务

sc query "%SERVICE_NAME%" | findstr /i "STOPPED" >nul 2>&1

if %errorlevel% == 0 (

echo [INFO] %CURRENT_TIME% - 正在启动服务 %SERVICE_NAME%... >> "%LOG_FILE%"

net start "%SERVICE_NAME%" >> "%LOG_FILE%" 2>&1

if %errorlevel% == 0 (

echo [INFO] %CURRENT_TIME% - 服务 %SERVICE_NAME% 启动成功 >> "%LOG_FILE%"

) else (

echo [ERROR] %CURRENT_TIME% - 启动服务失败,请检查服务配置 >> "%LOG_FILE%"

)

) else (

echo [INFO] %CURRENT_TIME% - 服务 %SERVICE_NAME% 已经在运行或状态异常,跳过启动 >> "%LOG_FILE%"

)

echo [DONE] %CURRENT_TIME% - 重启任务执行完毕 >> "%LOG_FILE%"

echo -------------------------------------------------- >> "%LOG_FILE%"

2,结合任务调度计划,实现定时重启tomcat,任务调度参考地址:

相关推荐
Elastic 中国社区官方博客6 分钟前
Elasticsearch 下采样方法:最后值采样 vs. 聚合采样
大数据·运维·elasticsearch·搜索引擎·全文检索
大明者省13 分钟前
Ubuntu22.04 宝塔面板与 XFCE 远程桌面端口兼容性分析
运维·服务器·数据库·笔记
s_w.h19 分钟前
【 linux 】认识make和makefile
linux·运维·bash
代码熬夜敲Q23 分钟前
Docker基础
运维·docker·容器
Harm灬小海35 分钟前
【云计算学习之路】学习Centos7系统-Linux软件包管理
linux·运维·服务器·学习·云计算·yum·rpm
谪星·阿凯1 小时前
Linux提权全攻略博客
linux·运维·服务器·网络安全
Donk_671 小时前
什么是虚拟化
linux·运维
Shadow(⊙o⊙)1 小时前
Shell进程替换,自定义Shell解释器——字符串库函数灵活操作!
linux·运维·服务器·开发语言·c++·学习
IT大白鼠1 小时前
2019年Cloudflare全球宕机事件技术分析:正则表达式回溯失控与互联网基础设施脆弱性研究
运维·正则表达式·去中心化
SparkleN.1 小时前
/tmp/cargo/env:No such file or directory
运维·服务器