30 lines
860 B
Bash
30 lines
860 B
Bash
#!/bin/bash
|
||
# label-backend 启动脚本
|
||
# - Docker 环境(检测 /.dockerenv):exec 前台运行,保持容器进程存活
|
||
# - 裸机 / VM:nohup 后台运行,日志追加至 logs/startup.log
|
||
|
||
set -e
|
||
|
||
BASEDIR=$(cd "$(dirname "$0")/.." && pwd)
|
||
LIBDIR="$BASEDIR/libs"
|
||
CONFDIR="$BASEDIR/etc"
|
||
LOGDIR="$BASEDIR/logs"
|
||
|
||
mkdir -p "$LOGDIR"
|
||
|
||
JVM_OPTS="${JVM_OPTS:--Xms512m -Xmx1024m}"
|
||
MAIN_CLASS="com.label.LabelBackendApplication"
|
||
JAVA_ARGS="$JVM_OPTS \
|
||
-Dspring.config.location=file:$CONFDIR/application.yml \
|
||
-Dlogging.config=file:$CONFDIR/logback.xml \
|
||
-cp $LIBDIR/*"
|
||
|
||
if [ -f /.dockerenv ]; then
|
||
# Docker 容器:exec 替换当前进程,PID=1 接管信号
|
||
exec java $JAVA_ARGS $MAIN_CLASS
|
||
else
|
||
# 裸机 / VM:nohup 后台运行
|
||
nohup java $JAVA_ARGS $MAIN_CLASS >> "$LOGDIR/startup.log" 2>&1 &
|
||
echo "label-backend started, PID=$!"
|
||
fi
|