自定义参数
CONSOLE_NAME= #CONSOLE服务名
CONSOLE_PATH= #CONSOLE安装路径
TEMP_PATH =#临时目录
部署参数检查
#!/bin/bash
# 检查参数是否设置
echo "=====检查参数是否设置====="
if [ ! $CONSOLE_PATH ];then
echo "=====$CONSOLE_PATH 此参数未设置,请检查!====="
exit 1
fi
if [ ! $CONSOLE_NAME ];then
echo "=====$CONSOLE_NAME 此参数未设置,请检查!====="
exit 1
fi
isServerExist=$(ps -ef | grep $CONSOLE_NAME | grep -v grep | awk '{print $2}' | wc -l)
# 检查服务是否已经安装
echo "=====检查服务是否已经安装====="
if [ "${isServerExist}" != "0" ]; then
echo "$CONSOLE_NAME 服务已启动,请先卸载"
exit 1
else
echo "$CONSOLE_NAME 服务未启动,符合预期!"
fi
# 检查目标目录是否存在
echo "=====检查目标目录是否存在====="
if [ ! -d $CONSOLE_PATH ];then
echo "=====$CONSOLE_PATH 目录不存在,创建目录====="
mkdir -p $CONSOLE_PATH
fi
if [ ! -d $TEMP_PATH ];then
echo "=====$TEMP_PATH 目录不存在,创建目录====="
mkdir -p $TEMP_PATH
fi
echo "=====部署前检查通过====="
启动服务
#!/bin/bash
#启动服务
echo "======开始启动服务======"
cd $CONSOLE_PATH/$CONSOLE_NAME
sh start.sh
#按照进程判断,默认启动时间2分钟,判断两次,按需修改循环次数
echo "=====开始判断服务是否已启动成功====="
for((i=1;i<=12;i++));
do
sleep 10
ISSTART=$(ps -ef | grep $CONSOLE_NAME | grep -v grep | awk '{print $2}' | wc -l)
if [ "$ISSTART" != "0" ]; then
echo "发现服务进程,为确保服务真正启动成功,等待15秒后进行第二次判断!"
sleep 15
ISSTART=$(ps -ef | grep $CONSOLE_NAME | grep -v grep | awk '{print $2}' | wc -l)
if [ "$ISSTART" != "0" ]; then
echo "等待15秒后进程仍存活,服务第二次判断通过,服务启动成功!"
exit 0
else
echo "等待15秒后进程未找到,服务第二次判断失败,服务启动失败!"
exit 1
fi
else
echo "服务启动中,请等待!"
fi
done
echo "等待2分钟后未发现服务进程,服务启动失败!"
exit 1
清理临时目录安装包
#!/bin/bash
rm -rf ${TEMP_PATH}
mkdir -p ${TEMP_PATH}