[cs지식 – Spring] cron


크론 개념

  • 주기적 실행 명령
  • 지정된 시간 또는 지정된 시간에 자동으로 실행되는 명령

1.크론탭 -e

  • * * * * * → 분(0-59) 시(0-23) 일(1-31) 월(1-12) 일(0-7)
  • 1 * * * * → 매분 실행
  • * 3 * * * → 오전 3시마다 실행
  • * 3.4 * * * → 오전 3시 및 4시 간격으로 실행
  • * 3-6 * * * → 매일 새벽 3시에서 6시 사이에 운행


매월 매일 매시간 매분 실행됨을 의미합니다.

1분마다 첨부파일을 확인할 수 있습니다.

2. 스크립트로 크론 등록

  • vi로 myScript.sh 생성


myScript.sh의 내용(crontab -l의 결과를 crontab_new로 이동)

myScript.sh에 실행 권한을 부여하고 실행합니다.

myScript.sh에 추가

기존 crontab_new를 삭제하고 myScript.sh를 다시 실행하면 아래에 추가된 것을 확인할 수 있습니다.

myScript.sh의 추가 콘텐츠

job.sh의 내용

job.sh 실행 권한 부여


./myScript.sh를 실행하고 crontab -e로 확인하면 첨부된 것을 확인할 수 있습니다.

1분마다 실행되는 모습입니다.

cron으로 스프링 서버 재시작

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



vi spring-stop.sh를 생성한 후 재부팅 시 내용을 입력합니다.


spring-stop.sh 실행 모드로 전환 후 실행

실행 후 서버가 죽은 것을 확인합니다.

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


vi spring-restart.sh 생성 후 내용 작성

실행 모드에 들어간 후 spring-restart.sh를 실행하십시오.


spring-restar.sh를 확인할 수 있습니다.

종료 상태에서 다시 시작하도록 스크립트에 수정 사항 추가


서버 확인 → ./spring-restart.sh(종료 후 재시작 필요) → 로그 폴더 생성 및 폴더 확인 → netstat -nlpt로 서버 확인

3. cron에서 spring-restart 및 spring-stop을 등록하는 스크립트


vi deploy.sh 생성 후 내용 입력


deploy.sh에 실행 권한 부여

deploy.sh 실행 후 crontab -e로 확인

Stop으로 서버를 끄면 1분 후에 다시 시작되는 모습을 볼 수 있습니다.