#!/bin/sh
SERVICE_HOME=/home1/irteam/service/tube-web
SERVICE_JAR=tube-web_real.jar
DATE2=`date +%Y%m%d`
cd $SERVICE_HOME/patch
if [ -f "$SERVICE_JAR" ];then
echo '[SERVICE] SERVICE Stop...'
cd $SERVICE_HOME/bin
./stop.sh
##프로세스 상태를 체크한다...
checkCount=1
while [ "$checkCount" != "0" ]
do
checkCount=$(ps -ef | grep $SERVICE_JAR | grep -v grep | wc -l)
echo "프로세스 종료 진행 중"
sleep 2;
done
echo '[SERVICE] '$SERVICE_JAR' backUp..'
cd $SERVICE_HOME/jar
SERVICE_JAR_BACK=$SERVICE_JAR'.'$DATE2
if [ -f "$SERVICE_JAR_BACK" ];then
COUNT=$(ls | grep $SERVICE_JAR_BACK | wc -l)
cp $SERVICE_JAR $SERVICE_JAR_BACK'_'$COUNT
echo '[SERVICE] backUp File : '$SERVICE_JAR_BACK'_'$COUNT
else
cp $SERVICE_JAR $SERVICE_JAR_BACK
echo '[SERVICE] backUp File : '$SERVICE_JAR_BACK
fi
echo '[SERVICE] '$SERVICE_JAR' patch!!'
mv $SERVICE_HOME/patch/$SERVICE_JAR $SERVICE_HOME/jar/$SERVICE_JAR
sleep 1;
echo '[SERVICE] SERVICE Start !!'
cd $SERVICE_HOME/bin
./start.sh
else
echo "patch File not exist"
echo $SERVICE_HOME"/patch 파일이 없습니다. 패치가 진행될 JAR파일이 필요합니다."
fi
해당 스크립트는
SERVICE_HOME의 patch 디렉토리에 해당 SERVICE_JAR를 넣으면 패치를 진행해줍니다.
해당 프로세스는
1) SERVICE_HOME의 서비스 종료
2) 해당 프로세스가 종료되었는지 체크(2초간격)
3) SERVICE_HOME의 SERVICE_JAR파일 백업
: 만약 tube-web_alpha-internal.jar.20200407 과 tube-web_alpha-internal.jar.20200407_1 이 있을 경우 tube-web_alpha-internal.jar.20200407_2 로 백업을 진행해줍니다.
4) 해당 Patch 디렉토리의 JAR파일 변경
5) 서비스 시작
해당 스크립트를 사용하기위해서는
SERVICE_HOME, SERVICE_JAR의 값을 변경후 진행하시면됩니다.
patch 디렉토리 생성이 필요합니다.
'Server' 카테고리의 다른 글
mac 포트 확인, kill (0) | 2022.06.29 |
---|---|
Mac 단축키 변경 (0) | 2021.08.24 |
Apache AJP 통신 문제에 따른 조치방안 (0) | 2020.11.11 |
cat , tail 명령어 정리 (0) | 2019.09.16 |
리눅스 Tar 압축, 풀기 (0) | 2016.08.09 |