반응형
SMALL
JAVA로 작성한 jar파일을 데몬으로 돌려야할 때 필요한 쉘 스크립트 정리
기본적으로 java -jar 를 이용해 jar파일을 실행하는 것을 서비스 운영 모드로 동작하게 해주는(관리 측면 효율성) 쉘 스크립트이다.
#!/bin/sh
SERVICE_NAME=서비스명
PATH_TO_JAR=실행할 JAR 파일 path.jar
PID_PATH_NAME=./서비스명.pid
JAVA_OPT="-Xms2048m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m"
case $1 in
start)
echo "Starting $SERVICE_NAME ..."
if [ ! -f $PID_PATH_NAME ]; then
nohup java -jar $JAVA_OPT $PATH_TO_JAR >> /dev/null &
echo $! > $PID_PATH_NAME
echo "$SERVICE_NAME started ..."
else
echo "$SERVICE_NAME is already running ..."
fi
;;
stop)
if [ -f $PID_PATH_NAME ]; then
PID=$(cat $PID_PATH_NAME);
echo "$SERVICE_NAME stoping ..."
kill $PID;
echo "$SERVICE_NAME stopped ..."
rm $PID_PATH_NAME
else
echo "$SERVICE_NAME is not running ..."
fi
;;
restart)
if [ -f $PID_PATH_NAME ]; then
PID=$(cat $PID_PATH_NAME);
echo "$SERVICE_NAME stopping ...";
kill $PID;
echo "$SERVICE_NAME stopped ...";
rm $PID_PATH_NAME
echo "$SERVICE_NAME starting ..."
nohup java -jar $JAVA_OPT $PATH_TO_JAR >> /dev/null &
echo $! > $PID_PATH_NAME
echo "$SERVICE_NAME started ..."
else
echo "$SERVICE_NAME is not running ..."
fi
;;
esac
이렇게 쉘 파일을 작성하고
run.sh 라고 작성을 했다면
./run.sh start
./run.sh restart
./run.sh stop
으로 서버를 시작/재시작/중지 시킬 수 있다
(물론 실행하기 위해선 실행권한을 파일에 부여를 해야 한다)
run.sh 로 가정했을 때
root 권한을 받은 뒤
chmod 755 run.sh
명령어로 해당 쉘 스크립트에 실행 권한을 부여할 수 있다.
해당 프로세스 PID 정보는 PID_PATH_NAME 에 저장이 되며
JAVA_OPT 에 JVM 옵션을 지정할 수 있다.
현재 시작/재시작 시 /dev/null로 리다이렉트를 하고 있는데, 이를 log파일 이름으로 바꾸게 되면 현재 데몬 실행을 하는 로그를 남기게 된다.
nohup java -jar -Dspring.profiles.active=prod $JAVA_OPT $PATH_TO_JAR >> daemon.log 와 같이 고치면 daemon.log에 현재 실행 로그가 남는다.
#리눅스shell, #리눅스javastart, #리눅스javarestart, #리눅스javastop
반응형
'Web Programing! > Linux' 카테고리의 다른 글
부팅시 postgresql 서버 자동 실행 (0) | 2019.10.07 |
---|---|
[리눅스] grep에 color 넣기, 여러단어 찾기 (0) | 2019.03.30 |
find 와 egrep 같이 검색하기 (0) | 2019.03.27 |
[unix] CP 명령어 (0) | 2012.06.08 |
[LINUX] 리눅스에서 오라클 내렸다 올리기 (0) | 2012.04.28 |
[LINUX] find 하면서 안에 있는 내용물까지 같이 검색하기 (0) | 2012.04.27 |
리눅스 기초 명령어 (0) | 2011.12.03 |