shell脚本启动jar

ACTION=$1
PROFILE=$2
REDIS_MODE=$3
PORT=8035
APP_NAME=demo-server
JAR_NAME=demo-server.jar
APP_HOME=/app/bp/${APP_NAME}
PACKAGE_HOME=/app/bp/package
#APP_LOG is the app log output.
APP_LOG_HOME=${APP_HOME}/logs
APP_LOG=${APP_LOG_HOME}/${APP_NAME}.log
JDK_HOME=/home/app/jdk/jdk1.8.0_131

check_package(){
    [ -d ${APP_LOG_HOME} ] || mkdir -p ${APP_LOG_HOME}
    [ -d ${PACKAGE_HOME} ] || mkdir -p ${PACKAGE_HOME}
    echo "[INFO] checking package..."
    cd ${PACKAGE_HOME}
    [ -f ${APP_NAME}.tgz ] || echo "[ERRO] No package found"
}
start_application() {
    echo 'exec start ==================================='
    #rm -rf ${APP_HOME}/*
    #tar -zxvf ${PACKAGE_HOME}/${APP_NAME}.tgz -C ${APP_HOME}
    ${JDK_HOME}/jre/bin/java -jar -Denv=${PROFILE} -Dspring.profiles.active=${PROFILE} -Dspring.redis.mode=${REDIS_MODE} -Dserver.port=${PORT} ${APP_HOME}/${JAR_NAME} > ${APP_LOG}  2>&1 &
    sleep 10
    tail -n 200 ${APP_LOG}
}
stop_application() {
    echo 'exec stop ===================================='
    PID=$(ps -ef|grep $JAR_NAME|grep -v grep|awk '{print $2}')
    if test $(pgrep -f $JAR_NAME | wc -l ) -eq 0
    then
        echo $app_name" is not running, start it now"
    else
        echo $app_name" is running, stop it first1. pid:$findProc"
        kill -9 $PID
    fi
}
delete_shell(){
    [ -f ${APP_HOME}/deploy.sh ] || echo 'No deploy.sh to delete!'
    rm ${APP_HOME}/deploy.sh
}
start() {
    check_package
    stop_application
    start_application
}
stop() {
    stop_application
}
case "$ACTION" in
    start)
        start
    ;;
    startweb)
        startweb
    ;;
    startdubbo)
        startdubbo
    ;;
    stop)
        stop
    ;;
    online)
        online
    ;;
    offline)
        offline
    ;;
    restart)
        stop
        start
    ;;
    *)
        usage
    ;;
esac

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值