SpringBoot项目在Linux系统实现部署与日志切割介绍

前言

公司最近负责的项目都基于SpringBoot开发,因此项目打的包是个jar包的格式,运维实施人员需要把jar包发布到服务器并启动起来。

实施过程

  1. 使用文件传输工具传输jar包到服务器中
  2. 使用后台启动命令启动jar包

nohup java -jar projecct.jar >> project.log 2>&1 &

命令解释:

  • nohup是no hang up缩写,意为不挂断的意思
  • java -jar 是java应用的启动命令
  • > 表示覆盖原文件内容,>>代表追加内容
  • 在linux中,0.1.2是一个文件描述符,0代表标准输入,1代表标准输出,2代表标准错误输出 。2>&1 表示将标准错误输出重定向到标准输出,此处不是覆盖的意思,>&是一个整体,不可分开。如果2>1则表示将标准错误输出重定向到“1” 这个文件里
  • &标识进程为后台进程

查看日志

tail -f project.log

终止进程

  • 进程的查询命令

ps -ef | grep project.jar | grep -v grep | awk '{print $2}'

  • 杀掉进程,一对反引号代表命令执行后的值,``与$()意思相同

kill -9 `ps -ef | grep project.jar | grep -v grep | awk '{print $2}'`

日志切割

由于运行日志是持续输出到 project.log 这个文件,时间久了之后文件就会变得非常大,下面介绍清空日志及切割日志的方法

1.清空日志

cat /dev/null > project.log

2.切割日志

切割日志使用split命令,命令一般结合参数-b -d命令例子:

  • 指定行数来切割

split -l 300 log.txt newfile

  • 指定大小来切割

split -b 10m log.txt newfile

  • 切割后的文件再合回来

cat newfile* > orifile

结语

本文介绍了jar包在linux系统的运行与停止,以及查看日志及切割日志的一般方法,启动多个jar包也同理,但是当jar包数量多的时候,编写脚本可以达到一键执行的效果。


SpringBoot项目在Linux系统实现部署与日志切割介绍


分享到:


相關文章: