通用Shell脚本执行Spring Boot项目Jar包

Posted 浅殇忆流年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通用Shell脚本执行Spring Boot项目Jar包相关的知识,希望对你有一定的参考价值。

项目打包

把Spring Boot项目执行下面命令打包为jar包。

mvn clean package

为了演示方便,这里准备了一个Mybatisplus的小项目,进行演示。


将打包完成的jar包:mybatisplus-0.0.1-SNAPSHOT.jar
上传至服务器。
这里我把它放在了服务器的/home/mybatisplus目录下面。

编写Shell脚本

在该目录下,创建文件springboot.sh,并使用vi编辑器写入如下脚本内容:

#!/bin/bash

SpringBoot=$2

if [ "$1" = "" ];
then
    echo -e "\\033[0;31m 未输入操作名 \\033[0m  \\033[0;34m {start|stop|restart|status} \\033[0m"
    exit 1
fi

if [ "$SpringBoot" = "" ];
then
    echo -e "\\033[0;31m 未输入应用名 \\033[0m"
    exit 1
fi

function start()
{
	count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`
	if [ $count != 0 ];then
		echo "$SpringBoot is running..."
	else
		echo "Start $SpringBoot success..."
		nohup java -jar $SpringBoot  > /dev/null 2>&1 &
	fi
}

function stop()
{
	echo "Stop $SpringBoot"
	boot_id=`ps -ef |grep java|grep $SpringBoot|grep -v grep|awk '{print $2}'`
	count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`

	if [ $count != 0 ];then
	    kill $boot_id
    	count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`

		boot_id=`ps -ef |grep java|grep $SpringBoot|grep -v grep|awk '{print $2}'`
		kill -9 $boot_id
	fi
}

function restart()
{
	stop
	sleep 2
	start
}

function status()
{
    count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`
    if [ $count != 0 ];then
        echo "$SpringBoot is running..."
    else
        echo "$SpringBoot is not running..."
    fi
}

case $1 in
	start)
	start;;
	stop)
	stop;;
	restart)
	restart;;
	status)
	status;;
	*)

	echo -e "\\033[0;31m Usage: \\033[0m  \\033[0;34m sh  $0  {start|stop|restart|status}  {SpringBootJarName} \\033[0m
\\033[0;31m Example: \\033[0m
	  \\033[0;33m sh  $0  start test.jar \\033[0m"
esac

springboot.sh文件赋予可执行权限:

chmod u+x springboot.sh

演示

在该目录下面输入./springboot.sh执行脚本。

启动项目

./springboot.sh start mybatisplus-0.0.1-SNAPSHOT.jar


在浏览器地址栏中输入:http://服务器ip:8081/mybatisplus/api/userInfo进行测试。

查看状态

./springboot.sh status mybatisplus-0.0.1-SNAPSHOT.jar


重新启动

./springboot.sh restart mybatisplus-0.0.1-SNAPSHOT.jar


停止

 ./springboot.sh stop mybatisplus-0.0.1-SNAPSHOT.jar 


本篇文章到这里就基本结束了,如果这篇文章对你有帮助,希望大家能留下你的点赞、 关注、 分享、 留言~

以上是关于通用Shell脚本执行Spring Boot项目Jar包的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 项目打包 + Shell 脚本部署实践,太有用了!

我司Spring Boot 项目打包 + Shell 脚本部署详细总结,太有用了!

Spring Boot 项目打包 + Shell 脚本部署实践,太有用了!

我们公司使用了 6 年的Spring Boot 项目部署方案!打包 + Shell 脚本部署详解,稳的一批!...

我们公司使用了 6 年的Spring Boot 项目部署方案!打包 + Shell 脚本部署详解,稳的一批!...

我们公司使用了 6 年的Spring Boot 项目部署方案!打包 + Shell 脚本部署详解,稳的一批!...