linux(centos7)下springboot项目jar包使用shell脚本运行

一般情况下springboot项目部署到linux下面需要经过一下几个步骤:

1.查看项目是否在运行状态(常用命令[其中一个]):

1 ps -ef | grep xxx.jar

2.如果项目在运行状态,需要先将现在运行的项目pid杀掉(常用命令[其中之一]):

1 kill -9 xxx

3.然后再检查一下项目运行状态,确认旧项目pid已经被kill掉。

4.将更新的项目jar包放到指定位置,然后使用nohup后台启动boot项目(常用简单启动命令[其中之一]):

1 nohup java -jar xxx.jar> log.log &

5.然后查看指定日志:

1 tail -f log.log

如果开发项目需要频繁的去更新,每次都需要这些操作,就会很麻烦,于是 查阅百度资料 写一个shell脚本去直接执行这些操作:

1.在项目jar包统计目录下使用 vim 命令新建一个 restart.sh 脚本:

1 vim restart.sh

2.按 i 键进入编辑模式:写入以下内容:

 1 #!/bin/sh
 2 #项目jar包名称
 3 APP_NAME=xxx-0.0.1-SNAPSHOT.jar
 4 #重启命令
 5 pid=`ps -ef | grep $APP_NAME | grep -v grep |awk '{print $2}'`
 6 if [ $pid ]; then
 7     echo :App  is  running pid=$pid
 8     kill -9 $pid
 9 fi
10 nohup java -Xms128m -Xmx256m -jar $APP_NAME> log.log 2>&1 &
11 tail -f log.log

然后 :wq 保存退出.

注释(sh脚本解释):

1.第3行:命名上传至linux服务器的jar包名称;

2.第5行:查询项目jar包pid,将运行目标的线程pid赋值给pid变量;

3.第6,7,8行:判断pid是否运行,如果在运行状态,就kill掉;

4.第10行:启动项目jar包;

5.第11行:打开项目启动日志文件;

完成。

然后在项目jar包部署到服务器上,运行restart.sh就可以运行项目了:

1 sh restart.sh

还有一种根据端口号进行重启项目,供参考:

 1 #!/bin/bash
 2 #定义项目jar端口号
 3 JAR_PORT=8080
 4 #定义项目名称
 5 APP_NAME=xxxx.jar
 6 #重启命令
 7 #根据端口号查询进程pid进行重启
 8 pid=$(netstat -nlp | grep $JAR_PORT | awk '{print $7}' | awk -F"/" '{ print $1}');
 9 
10 #如果端口被占用则杀死pid进程
11 if [ $pid ]; then
12     echo :App is running pid=$pid
13     kill -9 $pid
14 fi
15 nohup java -jar $APP_NAME> run.log 2>&1 &
16 tail -f run.log
View Code

还有一种启动方法就是个脚本加权限:

1  chmod 744 restart.sh 

这样就可以使用以下命令启动了:

1 ./restart.sh

当然  上个命令同样也是适用的。

posted @ 2020-03-30 11:54  {{unidentified}}  阅读(1948)  评论(0编辑  收藏  举报