생각의 표현들

AWS

AWS 재배포 직접 해보기 및 crontab 문제점 파악

재배포해보기 이전까지는 배포과정을 해봤습니다. 만약 프로젝트의 기능이 추가되거나 에러사항이 생겨 변경한다면 배포된 프로젝트도 변경되어야 합니다. 이때 배포스크립트 depoly.sh는 사용할 수 없습니다. 하지만 이번에는 스크립트 작성이 아닌 히나하나 명령어를 입력해 보겠습니다. 1. 기존 서버 중지 ./spring-stop.sh 2. 기존 서버 폴더 삭제 rm -rf /home/ubuntu/aws-v1 3. 새로운 프로젝트 git clone git clone [프로젝트주소] 4. gradlew 실행권한주기 cd /home/ubuntu/aws-v1 chmod u+x gradlew 5. 빌드 -> jar파일 만들기 ./gradlew build 6. jar 실행 nohup java -jar /home/ubun..

AWS

crontab 배포 스크립트로 스프링 서버 재시작하기

이전에 crontab을 배웠으니 활용을 해보겠습니다. 서버 종료 스크립트 만들기 spring-start.sh nohup java -jar /home/ubuntu/aws-v1/build/libs/v1-0.0.1-SNAPSHOT.jar 1>log.out 2>err.out & spring-stop.sh echo "Spring Boot Stop....." SPRING_PID=$(pgrep -f v1-0.0.1-SNAPSHOT.jar) kill -9 $SPRING_PID spring-restart.sh * if문에는 [] 양쪽으로 공백이 꼭 있어야 합니다. 더보기 [ -z ] : 문자열의 길이가 0이면 참 [ -n ] : 문자열의 길이가 0이 아니면 참 [ -eq ] : 값이 같으면 참 [ -ne ] : 값이 다..

AWS

nohup 배포 문제점, crontab을 이용한 해결

앞서 nohub를 사용하여 배포한 방법은 서버를 배포했지만 서버가 내려갈 경우 다시 배포하지 못합니다. 트래픽 부하, 에러 -> 서버 종료 서버 종료시 error로그를 남김 -> nohup 2>err.log 하지만, 자동 재시작이 되지 않습니다... 즉, nohub는 언제 서버가 내려갈지 알 수 없으니 불안전한 배포 입니다. 다양한 방법이 있지만 우선 crontab으로 해결해 보겠습니다. crontab Crontab은 스케줄링을 관리하는 프로그램 즉, 반복적인 작업을 정의하여 실행해주는 자동 매크로 crontab 옵션 crontab -l 예약된 작업 리스트 출력 crontab -e 예약된 작업 리스트 수정 crontab -r 예약된 작업 리스트 목록 삭제 crontab -e 우선 설정하는 방법은 cron..

AWS

타임존 변경 및 종료스크립트

현재 LocalTime은 미국 기준으로 실행이 되고있습니다. 이것을 대한민국기준으로 바꿔야합니다. 타임존 변경하기 현재 시간적용 정보 확인 timedatectl 역시 UTC 미국 기준으로 시간이 설정되어있습니다. 서울의 시간을 찾아서 적용해보겠습니다. sudo timedatectl set-timezone Asia/Seoul timedatectl KST 로변경되었고 현재 시간이 일치하는것을 확인하였습니다! 종료스크립트 현제 프로세스를 종료하기 위해서는 아래와 같이 복잡하게 PID를 구해야 합니다. ps -ef | grep *.jar | grep -v grep | awk '{print $2}' 프로세스 ID 확인 후 Kill -9 PID 하지만 pgrep으로 PID를 바로 찾을수 있습니다. pgrep -f ..

Sol b
'분류 전체보기' 카테고리의 글 목록 (6 Page)