AWS

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 ..

AWS

표준 출력, 에러 로그 파일 분리하기

이제 error 로그와 표준 info 로그를 분리하여 파일에 저장할 것입니다. 그 이유는 나중에 에러관리를 쉽게 하기 위해서입니다. 로그파일 나누기 nohup java -jar v1-0.0.1-SNAPSHOT.jar 1>log.out 2>err.out & & : 백그라운드 실행 1 : 표준출력 2 : 에러출력 tail -f log.out error는 java코드 안에서의 error 가 아닌 서버를 실행시키는 과정에서의 error가 저장이 됩니다. error 로그 일부러 jar명령어를 jarr로 변경해 고의로 에러를 주고 실행시켜 보았습니다. nohup java -jar v1-0.0.1-SNAPSHOT.jarr 1>log.out 2>err.out & 정상 로그 이번엔 정상적인 명령어로 실행하였습니다. no..

AWS

nohup으로 백그라운드 실행하기

이전 블로그에서 java -jar *.jar 명령어를 통해 프로젝트를 실행해보았습니다. 하지만 실행을 종료하거나 리눅스를 종료하면 서버도 종료가 되는단점이 있었습니다. 이제 nohup을 사용해 리눅스를 종료해도 서버가 돌아가게 하겠습니다. nohub이란? 리눅스에서 프로세스를 실행한 터미널의 세션 연결이 끊어지더라도 지속적으로 동작 할 수 있게 해주는 명령어 입니다. nohup을 설치합니다. sudo apt install nohup 설치가 되었으니 실행해 보겠습니다. nohup java -jar *.jar 하지만 이상태에서 리눅스를 종료하면 서버가 유지되지 않습니다. 그 이유는 포그라운드로 실행했기 때문입니다. 포그라운드 입력한 명령어 실행이 결과가 나올 때 까지 기다리는 방식이 바로 포그라운드 방식 입..

Sol b
'AWS' 카테고리의 글 목록 (3 Page)