通过shell脚本一键启动jar包

通过shell脚本一键启动jar包(2020-09-22)

  • 最近在学习shell语法的同时,又想到之前学过的把java项目部署到linux服务器上的基本方法,随之就联想到能不能把启动jar包的一系列命令放到shell文件里,这样就会方便许多。

  • 以下是我尝试的思路:

    1. 通过运行shell文件时传参(jar路径、端口号);
    2. 接收到参数后,先校验jar路径是否有效,然后kill对应端口的进程;
    3. 开始启动jar包(启动jar包前我先获取了同级日志文件路径并指定);
    4. 打开日志文件,方便shell调用者查看jar包启动情况。
  • shell脚本代码如下:

#!/bin/bash
# my first shell demo
#---截取字符串获取log文件路径(将*.jar转换为*.log)
logPath="null"
function subStr(){
 var=$1
 logPath="${var%.*}.log"
 echo "同级日志文件: $logPath"
}
#---------------------------
#接收参数1 jar包路径
app_path=$1
if [[ -n $app_path ]] && [ -e $app_path ];then
 echo "$app_path定位成功"
 #接收参数2 端口号
 port=$2
 echo "端口号:$port"
 if [ -z $2 ];then
  echo "缺少参数2:端口号"
  exit
 fi
 #获取端口号对应进程ID,并kill该进程
 pid=`lsof -i:$2 | awk '{print$2}'`
 echo "kill -9 $pid"
 kill -9 $pid
 echo "开始启动jar包。。。"
 #获取同级日志文件位置
 subStr $app_path
 nohup java -jar $app_path >$logPath &
 #打开日志文件
 tail -fn 200 $logPath

else
 echo "文件$app_path不存在!!!"
fi
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值