前言
公司最近负责的项目都基于SpringBoot开发,因此项目打的包是个jar包的格式,运维实施人员需要把jar包发布到服务器并启动起来。
实施过程
- 使用文件传输工具传输jar包到服务器中
- 使用后台启动命令启动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包数量多的时候,编写脚本可以达到一键执行的效果。
閱讀更多 元元說運維 的文章