Cron Expression

  • Spring Scheduler에서 사용되는 Cron Expression은 아래와 같이 표현할 수 있다.

 ┌───────────── second (0-59)
 │ ┌───────────── minute (0 - 59)
 │ │ ┌───────────── hour (0 - 23)
 │ │ │ ┌───────────── day of the month (1 - 31)
 │ │ │ │ ┌───────────── month (1 - 12) (or JAN-DEC)
 │ │ │ │ │ ┌───────────── day of the week (0 - 7)
 │ │ │ │ │ │          (0 or 7 is Sunday, or MON-SUN)
 │ │ │ │ │ │
 * * * * * *
  • 다음은 각 자리에 들어갈 수 있는 기호들에 대한 설명이다.

기호DescrptionExample

*

모든 값을 의미 (매초/분/시간 마다 수행)

0 0 * * * * : 매 시간마다 실행

?

day of the month 혹은 day of the week에 지정 가능하며 *과 같은 의미

-

기간 설정

0 0-5 14 * * ? : 매일 14:00시 0분 부터 5분 마다 실행한다. 즉 0,1,2,3,4,5분에 실행된다.

,

값을 나열해 사용

0 0,30 * * * * : 0분, 30분 마다 실행된다.

/

시작과 반복간격을 지정

30/30 * * * * ? : 30초에 시작해서 30초 마다 실행

L

마지막 날에 동작

day of the month, day of the week에서만 사용한다.

0 0 0 L * ? : 매월 말일 자정에 실행 0 15 10 ? * 6L : 매월 마지막 금요일(6) 10:15분에 실행 0 0 0 L-3 * * : 매월 마지막 날로부터 3일 전인 날짜의 자정에 실행

W

가장 가까운 평일에 동작 지정한 날짜가 토요일이라면 가까운 평일인 금요일에 동작하고, 일요일이라면 월요일에 동작한다.

day of the month 에서만 사용한다.

0 0 0 1W * * : 매월 첫 번째 평일 자정에 실행 0 0 0 LW * * : 매월 마지막 평일 자정에 실행

#

몇째주(뒤)의 무슨 요일(앞)을 설정

day of week에서만 사용한다.

0 0 0 * * 6#3 : 셋째주 금요일 자정에 실행

Last updated