complex-platform-server/crmeb/shell/startAdmin-prod.sh
2025-01-08 16:41:59 +08:00

71 lines
1.8 KiB
Bash

#!/bin/bash
# 开始时间 时间戳
startTime=$(date +'%Y-%m-%d %H:%M:%S')
# 接口项目站点路径(目录按照各自配置)
APP_PATH=$(echo "/application/mushroom-shop-prod/console-server" | tr -d '\r')
# jar 包文件名称
APP_NAME=$(echo "$APP_PATH/Crmeb-admin.jar" | tr -d '\r')
# 日志文件名称
LOG_FILE="$APP_PATH/crmeb_out.log"
# 启动环境
APP_YML="--spring.profiles.active=prod"
# 删除旧日志文件
rm -f "$LOG_FILE"
echo "开始停止 Crmeb 项目进程"
# 查询进程,并杀掉当前 jar/java 程序
pid=$(ps -ef | grep "$APP_NAME" | grep -v "grep" | awk '{print $2}')
if [ "$pid" ]; then
echo "发现进程 PID: $pid"
kill "$pid"
echo "Crmeb 项目进程已终止"
fi
sleep 2
# 判断 jar 包文件是否存在
if [ -e "$APP_NAME" ]; then
echo '文件存在,开始启动程序...'
# 启动 jar 包,指向日志文件
nohup java -jar "$APP_NAME" $APP_YML > "$LOG_FILE" 2>&1 &
echo "正在发布中,请稍后......"
sleep 20s
# 检测日志
while [ -f "$LOG_FILE" ]; do
success=$(grep "Started CrmebAdminApplication in " "$LOG_FILE" || true)
if [[ "$success" != "" ]]; then
echo "Crmeb 启动成功"
break
fi
fail=$(grep "Fail" "$LOG_FILE" || true)
if [[ "$fail" != "" ]]; then
echo "项目启动失败"
tail -f "$LOG_FILE"
break
fi
sleep 1s
done
else
echo "$APP_NAME 文件不存在,请检查。"
fi
# 计算运行时间
endTime=$(date +'%Y-%m-%d %H:%M:%S')
startSecond=$(date --date="$startTime" +%s)
endSecond=$(date --date="$endTime" +%s)
total=$((endSecond - startSecond))
echo "本次运行时间: $total"
echo "当前时间: $endTime"
# 实时展示日志
echo "显示实时日志,请按 Ctrl+C 停止查看..."
tail -f "$LOG_FILE"