Linux Shell脚本部署java程序 (jar包)

#!/usr/bin/env bash
#可变参数变量

#部署磁盘路径
baseDirPath=/data/apps/java/smj-exchange-upload
#jar包名称
packageName=smj-exchange-upload.jar #命令启动包名 xx.jar的xx

pid= #进程pid

#检测pid
getPid(){
    echo "检测状态---------------------------------------------"
    pid=`ps -ef | grep -n ${packageName} | grep -v grep | awk '{print $2}'`
    if [ ${pid} ]
    then
        echo "运行pid:${pid}"
    else
        echo "未运行"
    fi
}
#启动程序
function start()
{
    #启动前,先停止之前的
    stop
    if [ ${pid} ]
    then
        echo "停止程序失败,无法启动"
    else
        echo "启动程序---------------------------------------------"

        #进入运行包目录
        cd ${baseDirPath}

        nohup java -jar ${packageName} >/dev/null 2>&1 &
        # java -jar ${baseDirPath}/${packageName}

        #查询是否有启动进程
        getPid
        if [ ${pid} ]
        then
            echo "已启动"
            #nohup日志
            tail -f nohup.out
        else
            echo "启动失败"
        fi
    fi
}

#停止程序
function stop()
{
    getPid
    if [ ${pid} ]
    then
        echo "停止程序---------------------------------------------"
        kill -9 ${pid}

        getPid
}

#停止程序
function stop()
{
    getPid
    if [ ${pid} ]
    then
        echo "停止程序---------------------------------------------"
        kill -9 ${pid}

        getPid
        if [ ${pid} ]
        then
            #stop
            echo "停止失败"
        else
            echo "停止成功"
        fi
    fi
}

#启动时带参数,根据参数执行
if [ ${#} -ge 1 ]
then
    case ${1} in
        "start")
            start
        ;;
        "restart")
            start
        ;;
        "stop")
            stop
        ;;
        # "unzip")
        #     #执行解压
        #     shenniu_unzip
        #     #执行启动
        #     start
        # ;;
        *)
            echo "${1}无任何操作"
        ;;
    esac
else
    echo "
    command如下命令:
    start:启动
    stop:停止进程
    restart:重启

    示例命令如:./upload_start start
    "
fi

 

注意:

1、遇到权限不够

执行 chmod u+x ./upload_start.sh

2、没有目录或者文件 是因为Windows格式和Linux格式不一致 

执行 vim upload_start.sh  编辑文件

:set ff=unix

:eq

接下来就是见证奇迹的时刻了-----------------nice

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值