houston 업데이트를 스크립트로 하자
This commit is contained in:
51
houston.sh
51
houston.sh
@ -1,4 +1,51 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
nohup /home/opdev/houston -client -logfile > /dev/null &
|
||||
HOUSTON_PATH="./houston"
|
||||
UPDATE_DIR="houston.update"
|
||||
|
||||
while true; do
|
||||
# houston 실행
|
||||
if [ -f "$HOUSTON_PATH" ]; then
|
||||
"$HOUSTON_PATH"
|
||||
EXIT_CODE=$?
|
||||
else
|
||||
echo "houston 실행 파일이 없습니다."
|
||||
EXIT_CODE=1
|
||||
fi
|
||||
|
||||
# houston.update 폴더가 존재하는지 확인
|
||||
if [ -d "$UPDATE_DIR" ]; then
|
||||
# houston 파일이 존재하는 경우에만 시간 비교
|
||||
if [ -f "$HOUSTON_PATH" ]; then
|
||||
HOUSTON_TIME=$(stat -c %Y "$HOUSTON_PATH")
|
||||
UPDATE_TIME=$(stat -c %Y "$UPDATE_DIR")
|
||||
|
||||
if [ $UPDATE_TIME -gt $HOUSTON_TIME ]; then
|
||||
echo "새로운 업데이트 폴더 발견. 업데이트를 진행합니다."
|
||||
# houston.update 폴더 내의 모든 파일을 현재 폴더로 복사
|
||||
cp -R "$UPDATE_DIR"/* .
|
||||
# 실행 권한 부여 (필요한 경우)
|
||||
chmod +x "$HOUSTON_PATH"
|
||||
# 업데이트 폴더 삭제
|
||||
rm -rf "$UPDATE_DIR"
|
||||
echo "업데이트 완료 및 업데이트 폴더 삭제. houston을 다시 시작합니다."
|
||||
else
|
||||
echo "업데이트 폴더가 최신이 아닙니다. 업데이트를 건너뜁니다."
|
||||
break
|
||||
fi
|
||||
else
|
||||
echo "houston 파일이 없습니다. houston.update 폴더의 내용을 복사합니다."
|
||||
cp -R "$UPDATE_DIR"/* .
|
||||
chmod +x "$HOUSTON_PATH"
|
||||
# 업데이트 폴더 삭제
|
||||
rm -rf "$UPDATE_DIR"
|
||||
echo "houston을 시작합니다."
|
||||
fi
|
||||
else
|
||||
echo "업데이트 폴더가 없습니다. 스크립트를 종료합니다."
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
echo "houston 실행 및 업데이트 스크립트 종료"
|
||||
exit $EXIT_CODE
|
||||
Reference in New Issue
Block a user