[Linux]crontab 설정, [SpringBoot] scheduler Cron설정

[Linux]

  1. 조회
    crontab -i
    ( 등록된 작업 리스트 조회 )
  2. 등록, 수정
    crontab -e
    ( vi 편집기로 편집가능 )
  3. 삭제
    crontab -r
    ( 등록된 crontab 자체가 지워지기 때문에 주의필요. )

[ crontab 설정 ]

 *              *               *               *          *
분(0~59)        시간(0~23)      일(1~31)        월(1~12)   요일(0~7)

요일은 1:월요일 부터 7,0 : 일요일 까지 설정

[ crontab 예제 ]

  1. 매분 실행
    * * * * * /test/testCrontab.sh
  2. 30분 마다 실행
    */30 * * * * /test/testCrontab.sh
  3. 특정 시간 실행
    ( 매주 수요일 2시 50분 실행 )
    50 2 * * 3 /test/testCrontab.sh
  4. 반복 실행
    ( 매일 매시간 10분, 30분, 50분에 실행 )
    10,30,50 * * * * /test/testCrontab.sh

    ( 매일 1시 3시 5시에 실행 )
    * 1,3,5 * * * /test/testCrontab.sh
  5. 범위 실행
    ( 매일 2시 30분부터 40분까지 매분 실행 )
    30-40 2 * * * /test/testCrontab.sh

[ SpringBoot Scheduler Cron ]

스프링부터에서는 6자리로 설정.

*           *          *            *          *          *
초(0~59)    분(0~59)   시간(0~23)   일(1~31)   월(1~12)   요일(0~7)

0,7:일요일
1:월요일 ~ 6:토요일

[ Crontab 예제 ]

  1. 10초마다 실행
    */10 * * * * *
  2. 매일 오후1시부터 오후5시까지 한시간마다 실행
    * 0 13-17 * * *
  3. 매일 오전11시,오후11시에 실행
    * * 11,23 * * *
  4. 1월 20일 1시에 실행
    * * 1 20 1 *
  5. 매주 금요일 3시 59분 59초에 실행
    59 59 3 * * 5