dubbo服务部署脚本样例

#!/bin/bash
#parameters:${SERVICE_PATH},${SERVICE_NAME},${SERVICE_PORT},${PACKAGE_NAME}
#SERVICE_PATH="/data/service/tss-service-15514"
#SERVICE_NAME="tss-service-server"
#SERVICE_PORT="15514"
#PACKAGE_NAME="tss-service-server.tar.gz"
source /etc/profile
CURR_DIR=$(pwd)
 
#停服务
echo "SERVER_NAME:${SERVICE_NAME}"
isServerExist=$(netstat -ntlp |grep ${SERVICE_PORT}|grep -v "grep"|wc -l)
 
if [ "$isServerExist" = "0" ]; then
    echo "${SERVICE_NAME} 进程不存在"    
elif [ "$isServerExist" -ge 1 ]; then
    echo "Start stop ${SERVICE_NAME}"
    netstat -ntlp|grep ${SERVICE_PORT} |awk '{print $7}'|sed -e 's/\/java//g'|xargs kill -9
fi
 
#部署方法
deploy() {
    if [ -d $SERVICE_PATH ];then
        echo "开始执行备份操作"
        fileName_dir=${SERVICE_NAME}.${APP_VERSION}.${APP_BUILDNUMBER}.$(date +%Y%m%d-%H:%M:%S)
         
        if [ ! -d /data/AD/backup/$fileName_dir ];then
            mkdir -p /data/AD/backup/$fileName_dir
        fi
         
        if [ -d  $SERVICE_PATH/${SERVICE_NAME} ];then
            mv  $SERVICE_PATH/${SERVICE_NAME}  /data/AD/backup/$fileName_dir
        fi
    fi
     
    cd $CURR_DIR
    echo "开始解压版本包"
    cp -f  ${PACKAGE_NAME}  ${SERVICE_PATH}
    cd ${SERVICE_PATH}
    unzip  ${PACKAGE_NAME}  >/dev/null  2>&1
    echo  "开始执行启动脚本,请等待!"
    cd ${SERVICE_NAME}/bin
    chmod +x *.sh
    ./startup.sh ${SERVICE_NAME}
   
    for((i=1;i<=6;i++)); 
      do
        sleep 5
        isServerExist=$(netstat -ntlp|grep ${SERVICE_PORT}|grep -v "grep"|wc -l)
        if [ "$isServerExist" -ge 1 ]; then
            echo "${SERVICE_NAME} 服务启动成功!"
            break
        else
            echo "启动中,请等待!"
        fi
    done
    if [ "$isServerExist" == "0" ]; then
        echo "${SERVICE_NAME} 服务启动失败!"
        exit 1
    fi
    
    echo "##########################" 
    echo "##########################"    
    ls -lrt  ${SERVICE_PATH}
    ps -eo pid,lstart,etime,cmd |grep ${SERVICE_NAME}
    echo "##########################" 
    echo "##########################"  
}
 
#清理目标部署目录
echo "判断目标目录是否存在"
if [ ! ${SERVICE_PATH} ];then
    echo "SERVICE_PATH 此参数未设置,请检查!"
    exit 1
elif [ -f ${SERVICE_PATH} ];then
    echo "SERVICE_PATH 是一个文件!"
    exit 1
elif [ ! -d ${SERVICE_PATH} ];then
    echo "部署目标目录不存在,初次部署,创建目录"
    mkdir -p ${SERVICE_PATH}
    pwd
    deploy
else
    deploy
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值