본문 바로가기
Computer & Program

Crontab & CronTrigger Expression

by TDRemon 2020. 5. 8.
반응형

안녕하세요. TDR입니다.

오늘도 맨날 까먹고 맨날 찾아보는 내용들을 정리해볼까 합니다.

오늘 정리할 것은 Cron expression입니다. Linux의 crontab이나 Quartz에서 CronTrigger를 정의 할 때의 가능한 표현입니다. crontab과 CronTrigger가 비슷한 듯 하면서 조금 달라서 2개 모두 자주 쓰지 않으면 매번 햇갈립니다.

Linux : crontab

*(분 : 0-59) *(시 : 0-23) *(일 : 1-31) *(월 : 1-12) *(요일 : 0-7)

월의 경우 1-12 외에도 jan, feb, mar 과 같이 표현이 가능하고,

요일의 경우 0-7(0과 7은 일요일) 외에도 sun, mon, tue와 같이 표현이 가능합니다.

사용법 예시를 보면,

1. * * * * * /script.sh : 매분 script.sh 실행

2. 0,30 * 5-10 2 * /script.sh : 2월 5일부터 10일까지 0분과 30분에 script.sh 실행

3. 25-45 7,10,13 * * 1-6 /script.sh : 월요일부터 금요일까지 7시, 10시, 13시의 25분부터 45분까지 script.sh 실행

Quartz : cron trigger

*(초 : 0-59) *(분 : 0-59) *(시 : 0-23) *(일 : 1-31) *(월 : 1-12) *(요일 : 1-7) (연도 : 1970-2099)

월의 경우 1-12 외에도 JAN-DEC으로 표현이 가능하고,

요일의 경우 1-7 외에도 SUN-SAT으로 표현이 가능합니다.

위에 노란색으로 표현한 "연도"는 기본적으로 생략이 가능합니다.

사용법 예시를 보면,

1. * * 10-12 * * 1,7 : 토요일과 일요일의 10시부터 12시까지 매초 마다 실행

2. 0 0 12 * * ? : 매일 12시 정각에 실행

3. 30 20 10 ? * 6L 2020 : 2020년의 매달 마지막 금요일 10시 20분 30초에 실행

 

Linux crontab vs Quartz cron trigger

  • 초(Second) 단위 표현
  • 요일의 0 허용
  • 연도 지정
  • 사용 가능 표현법의 차이

 

더 세부적인 내용을 알고 싶으신 분은 아래 URL을 참고 바랍니다.

How to use cron in Linux : https://opensource.com/article/17/11/how-use-cron-linux

Quartz Cron Trigger Tutorial : http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html

반응형

댓글