feat: 로그 설정 추가, 찾아오시는길 지도 수정, 배포 스크립트 추가
This commit is contained in:
89
scripts/owrawww.sh
Normal file
89
scripts/owrawww.sh
Normal file
@@ -0,0 +1,89 @@
|
||||
#!/bin/bash
|
||||
|
||||
APP_NAME="owrawww"
|
||||
APP_DIR="/home/www/owrainfo"
|
||||
JAR="$APP_DIR/owrawww-0.0.1-SNAPSHOT.jar"
|
||||
LOG_DIR="$APP_DIR/logs"
|
||||
PID_FILE="$APP_DIR/owrawww.pid"
|
||||
JAVA_HOME="/opt/jdk-21"
|
||||
|
||||
start() {
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
if kill -0 "$PID" 2>/dev/null; then
|
||||
echo "[$APP_NAME] 이미 실행 중입니다. (PID: $PID)"
|
||||
exit 1
|
||||
else
|
||||
rm -f "$PID_FILE"
|
||||
fi
|
||||
fi
|
||||
|
||||
mkdir -p "$LOG_DIR"
|
||||
|
||||
echo "[$APP_NAME] 시작 중..."
|
||||
nohup "$JAVA_HOME/bin/java" \
|
||||
-jar "$JAR" \
|
||||
--spring.profiles.active=prod \
|
||||
> /dev/null 2>&1 &
|
||||
|
||||
PID=$!
|
||||
echo $PID > "$PID_FILE"
|
||||
echo "[$APP_NAME] 시작됨. (PID: $PID)"
|
||||
echo "[$APP_NAME] 로그: $LOG_DIR/owrawww.log"
|
||||
}
|
||||
|
||||
stop() {
|
||||
if [ ! -f "$PID_FILE" ]; then
|
||||
echo "[$APP_NAME] PID 파일이 없습니다. 실행 중이 아닌 것 같습니다."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PID=$(cat "$PID_FILE")
|
||||
|
||||
if ! kill -0 "$PID" 2>/dev/null; then
|
||||
echo "[$APP_NAME] 프로세스($PID)가 이미 종료되어 있습니다."
|
||||
rm -f "$PID_FILE"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "[$APP_NAME] 종료 중... (PID: $PID)"
|
||||
kill "$PID"
|
||||
|
||||
for i in $(seq 1 30); do
|
||||
if ! kill -0 "$PID" 2>/dev/null; then
|
||||
rm -f "$PID_FILE"
|
||||
echo "[$APP_NAME] 정상 종료됨."
|
||||
exit 0
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo "[$APP_NAME] 강제 종료합니다."
|
||||
kill -9 "$PID"
|
||||
rm -f "$PID_FILE"
|
||||
echo "[$APP_NAME] 강제 종료됨."
|
||||
}
|
||||
|
||||
status() {
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
if kill -0 "$PID" 2>/dev/null; then
|
||||
echo "[$APP_NAME] 실행 중 (PID: $PID)"
|
||||
else
|
||||
echo "[$APP_NAME] 중지됨 (PID 파일 잔존)"
|
||||
fi
|
||||
else
|
||||
echo "[$APP_NAME] 중지됨"
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start) start ;;
|
||||
stop) stop ;;
|
||||
restart) stop; sleep 2; start ;;
|
||||
status) status ;;
|
||||
*)
|
||||
echo "사용법: $0 {start|stop|restart|status}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
34
scripts/start.sh
Normal file
34
scripts/start.sh
Normal file
@@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
APP_NAME="owrawww"
|
||||
APP_DIR="/home/www/owrainfo"
|
||||
JAR="$APP_DIR/owrawww-0.0.1-SNAPSHOT.jar"
|
||||
LOG_DIR="$APP_DIR/logs"
|
||||
PID_FILE="$APP_DIR/owrawww.pid"
|
||||
JAVA_HOME="/opt/jdk-21"
|
||||
|
||||
# 이미 실행 중인지 확인
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
if kill -0 "$PID" 2>/dev/null; then
|
||||
echo "[$APP_NAME] 이미 실행 중입니다. (PID: $PID)"
|
||||
exit 1
|
||||
else
|
||||
rm -f "$PID_FILE"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 로그 디렉토리 생성
|
||||
mkdir -p "$LOG_DIR"
|
||||
|
||||
# 시작
|
||||
echo "[$APP_NAME] 시작 중..."
|
||||
nohup "$JAVA_HOME/bin/java" \
|
||||
-jar "$JAR" \
|
||||
--spring.profiles.active=prod \
|
||||
> /dev/null 2>&1 &
|
||||
|
||||
PID=$!
|
||||
echo $PID > "$PID_FILE"
|
||||
echo "[$APP_NAME] 시작됨. (PID: $PID)"
|
||||
echo "[$APP_NAME] 로그: $LOG_DIR/owrawww.log"
|
||||
37
scripts/stop.sh
Normal file
37
scripts/stop.sh
Normal file
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
APP_NAME="owrawww"
|
||||
APP_DIR="/home/www/owrainfo"
|
||||
PID_FILE="$APP_DIR/owrawww.pid"
|
||||
|
||||
if [ ! -f "$PID_FILE" ]; then
|
||||
echo "[$APP_NAME] PID 파일이 없습니다. 실행 중이 아닌 것 같습니다."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PID=$(cat "$PID_FILE")
|
||||
|
||||
if ! kill -0 "$PID" 2>/dev/null; then
|
||||
echo "[$APP_NAME] 프로세스($PID)가 이미 종료되어 있습니다."
|
||||
rm -f "$PID_FILE"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "[$APP_NAME] 종료 중... (PID: $PID)"
|
||||
kill "$PID"
|
||||
|
||||
# 최대 30초 대기
|
||||
for i in $(seq 1 30); do
|
||||
if ! kill -0 "$PID" 2>/dev/null; then
|
||||
rm -f "$PID_FILE"
|
||||
echo "[$APP_NAME] 정상 종료됨."
|
||||
exit 0
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
# 강제 종료
|
||||
echo "[$APP_NAME] 강제 종료합니다."
|
||||
kill -9 "$PID"
|
||||
rm -f "$PID_FILE"
|
||||
echo "[$APP_NAME] 강제 종료됨."
|
||||
Reference in New Issue
Block a user