크론 표현식

Yoon·2022년 7월 25일
0

크론 표현식이란?

크론(Cron)을 구동할 때 스케쥴링의 파라미터로 사용되는 식을 크론 표현식(Cron Expressions)라고 한다. 유닉스/리눅스 기반의 스케쥴러에도 사용되지만 Quatz 스케줄러 에서도 사용된다. 크론 표현식은 필드와 특수문자를 조합하여 스케쥴링을 조절할 수 있다.


크론 표현식 : 구성

크론 표현식은 아래와 같은 형태로 구성된다. 리눅스/유닉스 크론 표현식에서는 5개 필드가 사용되고, 쿼츠 크론표현식에서는 7개의 필드가 사용된다.


크론 표현식 : 필드

초(Seconds)

  • 값 범위 : 0 ~ 59
  • 허용 특수문자 : * , - /
  • 리눅스/유닉스 크론탭에서는 사용되지 않는다.

분(Minutes)

  • 값 범위 : 0 ~ 59
  • 허용 특수문자 : * , - /

시(Hours)

  • 값 범위 : 0 ~ 23
  • 허용 특수문자 : * , - /

일(Day of month)

  • 값 범위 : 0 ~ 23
  • 허용 특수문자 : * , - ? L W

월(Month)

  • 값 범위 : 1 ~ 12 또는 JAN ~ DEC
  • 허용 특수문자 : * , - /

주(Day of week)

  • 값 범위 : 0 ~ 6 또는 SUN ~ SAT
  • 허용 특수문자 : * , - ? L #

년(Year)

  • 값 범위 : 생략 또는 1970 ~ 2099

크론 표현식 : 특수문자

* : 모든 값(매시, 매일, 매주처럼 사용한다.)
? : 특정 값이 아닌 어떤 값이든 상관 없음
- : 범위를 지정할 때
, : 여러 값을 지정할 때
/ : 증분값, 즉 초기값과 증가치를 설정할 때
L : 지정할 수 있는 범위의 마지막 값 표시
W : 가장 가까운 평일(weekday)을 설정할 때
# : N번 째 특정 요일을 설정할 때

크론 표현식 예제

매 10분마다

0 0/10 * * * *

매 3시간마다

0 0 0/3 * * *

매일 10시 ~ 19시 사이에 10분 간격으로

0 0/10 10-19 * * *

매일 10시와 19시에만 10분 간격으로

0 0/10 10,19 * * *

매달 25일 01시 30분에

0 30 1 25 * *

매주 월, 금요일 10시와 19시 사이 10분 마다

0 10 10-19 ? * MON,FRI

매달 마지막날 15시 30분

0 30 15 L * *

2017~2018년 매월 마지막 토요일 오후 1시 20분

0 20 13 ? * 6L 2017-2018

profile
나의 공부 일기

0개의 댓글