当前位置:   article > 正文

SpringBoot:Windows平台下JAR包的启动,停止和日志分割脚本_windows 脚本启动jar 日志文件文件按天分割

windows 脚本启动jar 日志文件文件按天分割

目录

JAR包的启动脚本

多个JAR包同时启动

 启动效果

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

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

启动效果

JAR包的停止脚本

停止一个端口

停止多个端口

执行效果 

停止多个连续端口

bat批处理脚本静默运行


JAR包的启动脚本

多个JAR包同时启动

  1. @echo off
  2. echo.
  3. echo WebVR START...
  4. echo.
  5. :: 进入目录文件夹
  6. d:
  7. cd D:\JT\java\workspace\webvr-end\deploy
  8. :: 执行多个javaw命令,但是无法输出日志
  9. echo webvr-auth START...
  10. start javaw -jar -Dfile.encoding=utf-8 -Xms800m -Xmx1024m webvr-auth-1.0.5.jar
  11. echo webvr-gateway START...
  12. start javaw -jar -Dfile.encoding=utf-8 -Xms800m -Xmx1024m webvr-gateway-1.0.5.jar
  13. echo webvr-system START...
  14. start javaw -jar -Dfile.encoding=utf-8 -Xms800m -Xmx1024m webvr-system-1.0.5.jar
  15. echo webvr-vr START...
  16. start javaw -jar -Dfile.encoding=utf-8 -Xms800m -Xmx1024m webvr-vr-1.0.5.jar
  17. pause

 启动效果

 

存在问题:

无法输出日志

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

依赖cronolog组件

cronolog组件下载

链接:https://pan.baidu.com/s/1vYprB1gfXed9gqQ0o8QSSQ 
提取码:1111 

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

存在问题:

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

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

  1. @echo off
  2. echo.
  3. echo WebVR START...[4/4]
  4. echo.
  5. :: 应用存放路径
  6. set deploy_path = D:\JT\java\workspace\webvr-end\deploy
  7. :: 进入目录文件夹
  8. d:
  9. echo cd deploy_path %deploy_path%
  10. cd %deploy_path%
  11. :: 执行命令
  12. echo webvr-vr START...
  13. :: javaw -D'file.encoding=utf-8' -jar webvr-vr-1.0.5.jar 2>&1>webvr-vr.log
  14. 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
  15. pause

启动效果

还待解决的问题:

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

JAR包的停止脚本

原理:

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

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

停止一个端口

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

停止多个端口

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

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

执行效果 

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

停止多个连续端口

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

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

bat批处理脚本静默运行

1.打开文本编辑器

DIM objShell
set objShell=createobject("wscript.shell")
result=objShell.Run("bat路径",0,true)

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

  1. DIM objShell
  2. set objShell=createobject("wscript.shell")
  3. result=objShell.Run("D:\JT\java\workspace\webvr-end\deploy\StartWebVR.bat",0,true)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/76303
推荐阅读
相关标签
  

闽ICP备14008679号