반응형
배치를 (재)시작 하는 스크립트
1. batch.pid 파일을 활용하여 현재 실행중인 프로세스의 pid를 보관한다.
pid가 있으면 프로세스가 실행중이라고 판단.
2. 시작할 때 pid 파일 여부를 확인
1) pid 파일이 있음
- 이미 실행중으로 판단하고, pid 프로세스를 종료한다.
- pid파일을 삭제 한다.
- batch.jar 파일을 실행한다.
- 프로세스 pid를 pid파일에 저장한다.
2) pid 파일이 없음
- batch.jar 파일을 실행한다.
- 프로세스 pid를 pid파일에 저장한다.
SERVICE_NAME=batch
PATH_TO_JAR="/batch/jar/batch-1.0.jar"
PID_PATH_NAME="/batch/bin/pid/batch.pid"
JAVA_OPTS="-Djava.net.preferIPv4Stack=true -Dspring.application.name=batch1 -Dspring.profiles.active=prd -Dserver.port=10000 -Djasypt.key=[키]"
echo "Starting $SERVICE_NAME ..."
if [ ! -f $PID_PATH_NAME ]; then
nohup java $JAVA_OPTS -jar $PATH_TO_JAR 1 > /dev/null 2>&1 &
echo $! > $PID_PATH_NAME
echo "$SERVICE_NAME started ..."
else
echo "$SERVICE_NAME is already running ..."
PID=$(cat $PID_PATH_NAME)
echo "$SERVICE_NAME stopping ..."
kill $PID
echo "$SERVICE_NAME stopped ..."
rm $PID_PATH_NAME
nohup java $JAVA_OPTS -jar $PATH_TO_JAR 1 > /dev/null 2>&1 &
echo $! > $PID_PATH_NAME
echo "$SERVICE_NAME started ..."
fi
반응형
'INFRA' 카테고리의 다른 글
[쿠버네티스(k8s)] [0단계] 사전 준비: 용어 감 잡기 (하루~이틀) (0) | 2025.04.21 |
---|---|
[쿠버네티스(k8s)] 한달 학습 계획 (입문자용) (0) | 2025.04.21 |
NAS서버 동기화 문제 (0) | 2025.02.28 |
[Nginx] SSL 통신 오류 (0) | 2025.02.27 |
vi 커멘트 (0) | 2025.02.27 |