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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 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)


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
3月前
|
XML C# 数据格式
掌握了在Windows平台上查看DLL依赖的方法
掌握了在Windows平台上查看DLL依赖的方法
363 4
|
2月前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
94 5
|
4月前
|
监控 Windows
Windows平台RTSP|RTMP播放器如何实时调节音量
我们在做Windows平台RTSP、RTMP播放器的时候,有这样的技术需求,特别是多路监控的时候,并不是每一路audio都需要播放出来的,所以,这时候,需要有针对音量调节的设计
|
2月前
|
JSON Java 数据库
SpringBoot项目使用AOP及自定义注解保存操作日志
SpringBoot项目使用AOP及自定义注解保存操作日志
56 1
|
3月前
|
NoSQL Shell MongoDB
Windows 平台安装 MongoDB
10月更文挑战第10天
71 0
Windows 平台安装 MongoDB
|
4月前
|
监控 C# 块存储
Windows平台RTSP|RTMP播放器如何叠加OSD文字
做Windows平台RTSP|RTMP播放器的时候,特别是多路播放场景下,开发者希望可以给每一路RTSP或RTMP流添加个额外的OSD台标,以区分不同的设备信息(比如添加摄像头所在位置),本文主要探讨,如何动态添加OSD台标。
Windows平台RTSP|RTMP播放器如何叠加OSD文字
|
3月前
|
Java Windows
如何在windows上运行jar包/JAR文件 如何在cmd上运行 jar包 保姆级教程 超详细
本文提供了一个详细的教程,解释了如何在Windows操作系统的命令提示符(cmd)中运行JAR文件。
1325 1
|
3月前
|
数据采集 监控 Java
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
本文是关于SpringBoot日志的详细教程,涵盖日志的定义、用途、SLF4J框架的使用、日志级别、持久化、文件分割及格式配置等内容。
234 0
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
|
4月前
|
Linux Android开发 iOS开发
Windows平台RTSP|RTMP播放器如何实现实时录像功能
Windows平台RTSP、RTMP播放器实时录像接口设计,实际上,除了Windows平台,我们Linux、Android、iOS平台也是一样的设计,单纯的录像模块,如果做的全面,也不是一两个接口可以搞定的
107 1
|
3月前
|
并行计算 开发工具 异构计算
在Windows平台使用源码编译和安装PyTorch3D指定版本
【10月更文挑战第6天】在 Windows 平台上,编译和安装指定版本的 PyTorch3D 需要先安装 Python、Visual Studio Build Tools 和 CUDA(如有需要),然后通过 Git 获取源码。建议创建虚拟环境以隔离依赖,并使用 `pip` 安装所需库。最后,在源码目录下运行 `python setup.py install` 进行编译和安装。完成后即可在 Python 中导入 PyTorch3D 使用。
325 0