본문 바로가기

CS지식/Spring

[cs지식 - Spring] cron 개념

cron 개념

  • 주기적 실행 명령어
  • 특정한 시간 또는 특정 시기마다 자동으로 수행하게 하는 명령어

1. crontab -e

  • * * * * * → 분(0~59) 시간(0~23) 일(1-31) 월(1-12) 요일(0-7)
  • 1 * * * * → 1분마다 실행
  • * 3 * * * → 새벽3시마다 실행
  • * 3,4 * * * → 새벽3시, 새벽4시마다 실행
  • * 3-6 * * * → 새벽3~6시사이 마다 실행

매분 매시 매일 매월 마다 실행하라는 뜻
1분이 지날때 마다 append하는 것을 확인 할 수 있음

 

2. 스크립트로 cron등록하기

  • vi myScript.sh로 생성하기

myScript.sh의 내용(crontab -l의 결과를 crontab_new에 옮긴다)
myScript.sh실행권한 주고 실행하기
myScript.sh에 추가
기존에 있던 crontab_new삭제하고 다시 myScript.sh실행하면 밑부분에 append된것 확인 가능
myScript.sh의 추가내용
job.sh의 내용
job.sh실행 권한 주기

 

./myScript.sh를 실행하고 crontab -e로 확인하면 append된것을 확인 할 수 있음
매분 실행되는 모습

 

 

cron으로 스프링 서버 재시작하기

1. 서버 끄는 스크립트 작성하기

restart안의 vi spring-stop.sh생성후 내용 입력

 

spring-stop.sh실행모드로 변경후 실행
실행 후 조회하면 서버가 죽은것이 확인 됨

 

2. 서버 재시작하는 스크립트 작성

vi spring-restart.sh생성 후 내용 작성
실행모드로 변환 후 spring-restart.sh실행

 

spring-restar.sh 확인 가능
종료된 상태에서 재시작하기 위해 스크립트 추가 수정

 

서버 꺼짐 → ./spring-restart.sh 확인(종료 후 재시작해야함) → log폴더 생성 확인 및 폴더 확인 → netstat -nlpt로 서버 확인

 

3. spring-restart와 spring-stop을 cron에 등록하는 것을 스크립트로 작성

 

vi deploy.sh생성 후 내용 입력

 

deploy.sh 실행권한 주기
deploy.sh실행 후 crontab -e로 확인
stop으로 서버를 끄면 1분뒤에 다시 재시작하는 모습 확인가능

 

'CS지식 > Spring' 카테고리의 다른 글

[Spring] JWT  (0) 2023.05.16
[CS 지식 - Spring] 디자인 패턴  (0) 2023.04.06
[cs지식 - Spring] aws 배포하기  (0) 2023.03.06
[CS지식 - Spring] JPA란?  (0) 2023.02.07
[CS지식 - Spring] DTO와 VO차이  (0) 2023.02.07