shell脚本:部署jar应用

是时候没有发布应用平台,只能手动敲linux命令也很烦,使用脚本就好很多

注意:把.sh运行脚本文件和要运行的jar包放在一个文件夹下,且只允许放一个.jar文件(除非自己写)
首次启用,
执行下面两行命令给所有脚本赋权,只要执行一次
chmod +x chmod.sh
./chmod.sh

chmod.sh脚本内容

# 查找当前目录及其子目录下所有的.sh脚本文件 并且775赋权
find . -name '*.sh' | xargs chmod 775

启动脚本start.sh

PORT=8060
FILEPATH=$(cd "$(dirname "$0")"; pwd)
cd $FILEPATH
JARNAME=$(basename "$(find . -name "*.jar")")
pid=`ps ux | grep $PORT | grep -v grep | awk '{print $2}'`
pidService=`ps ux | grep $JARNAME | grep -v grep | awk '{print $2}'`
if [[ $pid != "" ]] || [[ $pidService != "" ]];
then
    echo " $JARNAME 服务启动错误!原因:$PORT 端口被占用或服务已启动,请检查"
    echo "Startup error, Port $PORT was already in use or please check service is running  and port pid=$pid service pidService=$pidService"
else
    echo "Service is running ... and service  name= $JARNAME"
    echo "Service Post is $PORT "
    nohup java -jar -Duser.timezone=GMT+08 -Dserver.port=$PORT -Dspring.config.location=application-pre.yml -Dspring.profiles.active=pre $JARNAME > service-RUN.log 2>&1 &
fi

停止脚本stop.sh

FILEPATH=$(cd "$(dirname "$0")"; pwd)
cd $FILEPATH
JARNAME=$(basename "$(find . -name "*.jar")")
pid=`ps ux | grep $JARNAME | grep -v grep | awk '{print $2}'`
if [ "$pid" != "" ];
then
   kill -15 $pid
    if [[ $? -eq 0 ]];
	then
		echo "服务停止成功"
        echo "sucess to stop $JARNAME"
    else
		echo "服务停止失败"
        echo "fail to stop $JARNAME"
    fi
else
    echo "服务停止错误!请检查 $JARNAME 服务是否已经启动"
    echo "Stop error, please check service is running"
fi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值