linux下shell脚本启动springboot的jar包

#!/bin/sh
port=81 #定义变量等号左右不能有空格
jar_name=/home/jar/love-0.0.1-SNAPSHOT.jar
LOG_FILE=./log.log
yml=" "
# yml=" --spring.config.location=./application-test.yml " #用默认配置 可注释以下不需要修改

#运行脚本提示信息
tips(){
	echo "-------------------------------------"
	echo ""
	echo "项目端口: ${port}"
	echo "项目地址: ${jar_name}"
	echo ""
	echo "你可以使用如下参数进行操作"
	echo "-status -查看当前项目运行状态"
	echo "-start  -启动当前项目"
	echo "-stop  -停止当前项目"
	echo "-restart -重启当前项目" 
	echo ""
	echo "-------------------------------------"
}
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');

#查看状态
status(){
	#查询端口的PID {print $7}-取出打印的第七个值
	#判断端口是否被占用
	if [ -z "${pid}" ];then
    	echo "没有项目在运行"
	else
    	echo "项目正在运行中"
	fi
}

#启动项目
start(){
	if [ -z "${pid}" ];then
		echo "正在启动......"
		# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件
		nohup java -jar ${jar_name} ${yml} > $LOG_FILE 2>&1 &
		#实时查看启动日志(此处正在想办法启动成功后退出)
		tail -f $LOG_FILE
		#输出启动成功(上面的查看日志没有退出,所以执行不了,可以去掉)
		echo "启动完成"
	else
		echo "项目运行中或端口已被占用"
	fi

}

#停止项目
stop(){
	if [ -z "${pid}" ];then
		echo "没有项目在运行,请先启动"
	else
		kill -9 $pid
		echo "已杀死端口为 ${port} 的应用"
	fi
}

#重启项目
restart(){
	echo "正在杀死端口 ${port} 的pid ${pid} 中..."
	if [ -z "${pid}" ];then
		echo "项目未启动"
	else
		kill -9 $pid
	fi
	sleep 5 #睡眠五秒
	start  #调用启动方法
	echo "项目重启成功!"
}

#参数选项
case "$1" in
	"-status")
	 status
	 ;;
	"-start")
	 start
	 ;;
	"-stop")
	 stop
	 ;;
	"-restart")
	 restart
	 ;;
	*)
	 tips
	 ;;
esac

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值