#!/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
dubbo服务部署脚本样例
最新推荐文章于 2022-05-17 12:00:53 发布