SpringBoot:Windows平台下JAR包的启动,停止和日志分割脚本

简介: SpringBoot:Windows平台下JAR包的启动,停止和日志分割脚本

目录

JAR包的启动脚本

多个JAR包同时启动

启动效果

单个JAR包启动,并输出日志

单个JAR包启动,并输出按天分割的日志

启动效果

JAR包的停止脚本

停止一个端口

停止多个端口

执行效果

停止多个连续端口

bat批处理脚本静默运行



JAR包的启动脚本

多个JAR包同时启动

@echo off
echo.
echo WebVR START...
echo.
:: 进入目录文件夹
d:
cd D:\JT\java\workspace\webvr-end\deploy
:: 执行多个javaw命令,但是无法输出日志
echo  webvr-auth START...
start javaw -jar -Dfile.encoding=utf-8 -Xms800m -Xmx1024m  webvr-auth-1.0.5.jar
echo  webvr-gateway START...
start javaw -jar -Dfile.encoding=utf-8 -Xms800m -Xmx1024m  webvr-gateway-1.0.5.jar
echo  webvr-system START...
start javaw -jar -Dfile.encoding=utf-8 -Xms800m -Xmx1024m  webvr-system-1.0.5.jar
echo  webvr-vr START...
start javaw -jar -Dfile.encoding=utf-8 -Xms800m -Xmx1024m  webvr-vr-1.0.5.jar
pause

启动效果

 

存在问题:

无法输出日志


单个JAR包启动,并输出日志

依赖cronolog组件

cronolog组件下载

链接:https://pan.baidu.com/s/1vYprB1gfXed9gqQ0o8QSSQ 

提取码:1111

@echo off
echo.
echo WebVR START...[1/4]
echo.
:: 应用存放路径
set deploy_path = D:\JT\java\workspace\webvr-end\deploy
:: 进入目录文件夹
d:
echo cd deploy_path %deploy_path%
cd %deploy_path%
:: 执行命令
echo  webvr-auth START...
javaw -D'file.encoding=utf-8' -jar webvr-auth-1.0.5.jar 2>&1>webvr-auth.log
pause

存在问题:

日志文件越来越大,问题定位不方便


单个JAR包启动,并输出按天分割的日志

@echo off
echo.
echo WebVR START...[4/4]
echo.
:: 应用存放路径
set deploy_path = D:\JT\java\workspace\webvr-end\deploy
:: 进入目录文件夹
d:
echo cd deploy_path %deploy_path%
cd %deploy_path%
:: 执行命令
echo  webvr-vr START...
:: javaw -D'file.encoding=utf-8' -jar webvr-vr-1.0.5.jar 2>&1>webvr-vr.log
javaw -D'file.encoding=utf-8' -jar webvr-vr-1.0.5.jar | D:\JT\java\workspace\webvr-end\deploy\cronolog\cronolog.exe D:\JT\java\workspace\webvr-end\deploy\log\webvr-vr-%%Y%%m%%d.log
pause

启动效果

还待解决的问题:

过去多少天(如3个月)的日志,并没有多大意义,需要清理


JAR包的停止脚本

原理:

1. 查找一下XXX端口的进程: netstat -a -n -o | findstr :9200

2. 结束进程: taskkill /pid 2044 -t -f


停止一个端口

@echo off
set port=20812
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
    echo kill the process %%m who use the port %port%
    taskkill /pid %%m
)

停止多个端口

port设置成变量,并用空白字符分割

@echo off
set port=7910 9200 9201 9203
for /f "tokens=1-5" %%a in ('netstat -ano^|findstr ":%port%"') do (
    echo PID:%%e is running,kill the process [%%e] who use the port [%%b]
    taskkill /F /pid %%e
)
pause


执行效果

其中报错信息"错误,没有找到进程XXX",并不影响,因为对应的进程已经再上面被杀掉


停止多个连续端口

for /l %%n in (20801,1,2085),表示操作20801,20802,20803,20804,20805的端口

@echo off
for /l %%n in (20801,1,2085) do (
    @echo find the process which use port [%%n]
    for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%%n"') do (
        tasklist /FI "PID eq %%m"|find /i "PID" && (
        echo PID:%%m 运行中,kill the process [%%m] who use the port [%%n]
        taskkill /F /pid %%m
        ) || echo PID:%%m 未运行 
    )
)

bat批处理脚本静默运行

1.打开文本编辑器

DIM objShell

set objShell=createobject("wscript.shell")

result=objShell.Run("bat路径",0,true)

2.将文件的后缀名改为.vbs 双击即可运行

DIM objShell
set objShell=createobject("wscript.shell")
result=objShell.Run("D:\JT\java\workspace\webvr-end\deploy\StartWebVR.bat",0,true)


相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
Java 测试技术
抖音点赞脚本,直播间作品批量点赞,jar插件代码分享
实现使用了Selenium WebDriver自动化测试框架来模拟浏览器操作。代码包含登录功能
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `<appender>` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `<logger>` 和 `<root>` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
3412 1
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——使用Logger在项目中打印日志
本文介绍了如何在项目中使用Logger打印日志。通过SLF4J和Logback,可设置不同日志级别(如DEBUG、INFO、WARN、ERROR)并支持占位符输出动态信息。示例代码展示了日志在控制器中的应用,说明了日志配置对问题排查的重要性。附课程源码下载链接供实践参考。
1578 0
|
SQL Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— application.yml 中对日志的配置
在 Spring Boot 项目中,`application.yml` 文件用于配置日志。通过 `logging.config` 指定日志配置文件(如 `logback.xml`),实现日志详细设置。`logging.level` 可定义包的日志输出级别,例如将 `com.itcodai.course03.dao` 包设为 `trace` 级别,便于开发时查看 SQL 操作。日志级别从高到低为 ERROR、WARN、INFO、DEBUG,生产环境建议调整为较高级别以减少日志量。本课程采用 yml 格式,因其层次清晰,但需注意格式要求。
1691 0
|
Java API 开发者
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——slf4j 介绍
在软件开发中,`System.out.println()`常被用于打印信息,但大量使用会增加资源消耗。实际项目推荐使用slf4j结合logback输出日志,效率更高。Slf4j(Simple Logging Facade for Java)是一个日志门面,允许开发者通过统一方式记录日志,无需关心具体日志系统。它支持灵活切换日志实现(如log4j或logback),且具备简洁占位符和日志级别判断等优势。阿里巴巴《Java开发手册》强制要求使用slf4j,以保证日志处理方式的统一性和维护性。使用时只需通过`LoggerFactory`创建日志实例即可。
995 0
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
2032 5
|
Java Linux
自定义linux脚本用于快速jar包启动、停止、重启
自定义linux脚本用于快速jar包启动、停止、重启
577 29
|
数据库连接 测试技术 Windows
【YashanDB知识库】windows配置ODBC跟踪日志, 使用日志定位问题
【YashanDB知识库】windows配置ODBC跟踪日志, 使用日志定位问题
|
缓存 安全 网络协议
使用事件日志识别常见 Windows 错误
事件查看器是Windows操作系统中的标准诊断工具,用于记录系统事件,包括硬件问题、软件中断和系统行为等详细信息。通过分析这些日志,管理员能够追踪和解决系统错误。访问方法包括使用快捷键Win + R输入eventvwr.msc,或通过控制面板进入。事件查看器中的每条记录包含事件ID、来源和描述,帮助识别和解决问题。常见错误如蓝屏死机、DLL错误、驱动程序错误等,可通过更新驱动程序、运行系统诊断、使用恢复功能等方式解决。
1847 4
|
12月前
|
安全 数据安全/隐私保护 虚拟化
Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)
Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)
2809 2
Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)