Quartz Cron 표현식 옵션
Quartz / Spring Scheduler 크론 표현식 : 7자리
cron 순서 : <초> <분> <시> <일> <월> <요일> <년도>
순서 | 항목 | 사용형태 |
---|---|---|
1 | 초 | 0-59 |
2 | 분 | 0-59 |
3 | 시 | 0-23 |
4 | 일 | 1-31 |
5 | 월 | 1-12 또는 JAN ~ DEC |
6 | 요일 | 0-6 (일요일=0, 월요일=1) 또는 SUN ~ SAT |
7 | 년도 | 2024 (생략가능) |
Cron 옵션
옵션 | 설명 | 적용가능항목 | 예제 | 비고 |
---|---|---|---|---|
* | 항상 실행 | 모든 항목 | 0 14 * * * ? (년도는 생략) 매년매월매일(=매일) 14시에 실행 |
|
? | 조건 없음 | 일, 요일 | 0 14 10 ? * * 또는 0 14 10 * * ? 매일 10시 14분에 실행 |
|
/ | 시작시간/단위 시작시간부터 해당 단위간격으로 실행 |
모든 항목 | 0/5 : 0부터 5간격으로 실행 0 0/1 * * * ? : 1분마다 실행 0 0/5 10 * * ? : 매일 10시부터 10시 59분까지 5분마다 실행 |
|
- | 시작-끝 시작부터 끝까지 실행 |
모든 항목 | 1-3 : 1,2,3 조건일때 실행0 0-5 10 * * ? : 매일 10시부터 10시 5분까지 매분마다 실행 | |
, | 시간1,시간2 시간1, 시간2 일때 마다 실행 |
모든 항목 | 1,3 : 1, 3 조건일때 실행0 0-5 10,15 * * ? : 매일 10시~10시5분, 15시~15시5분일때 매분마다 실행 | |
L | 일 : 한달의 마지막 날짜, 요일 : 마지막주 해당요일 |
일, 요일 | L : 1월은 31일, 2월은 28 or 29일에 실행 0 15 10 L * ? : 매월 마지막날 10시 15분 실행 1L : 마지막 일요일에 실행, 마지막주가 월요일이 없다면 그전주 월요일에 실행 |
|
W | 가장 가까운 평일(월-금)에 실행 | 일 | 10W 라고 설정했다면 10일이 월~금 범위라면 해당 날짜에 실행 10일이 토요일이라면 가장 가까운 금요일인 9일에 실행 10일이 일요일이라면 가장 가까운 월요일인 11일에 실행 |
|
# | 요일#N번째주 N번째 주 해당 요일에 실행 |
요일 | 3#2 : 수요일(3) # 2번째주 = 2번째 주 수요일에 실행 | Quartz에서 실행 안됨 |
참고사항
- 월과 요일의 이름은 대소문자를 구분하지 않는다. ex) MON / mon
-
연도를 설정하지 않은 경우 연도가 자동으로 결정된다.
현재 날짜와 비교하여 지정 날짜가 아직 지나지 않은 경우에는 현재 연도가 설정되며,
날짜가 이미 지난 경우에는 다음 연도로 설정된다. -
일(Day of month)과 요일(Day of week) 필드는 동시에 지정될 수 없다.
0 0 0 * * *
이렇게 표현할 수 없다.
0 0 0 ? * *
또는0 0 0 * * ?
이렇게 지정하지 않는 필드에는 “?”를 세팅한다. -
초(Seconds) 필드에 0/15가 세팅되어 있으면 0, 15, 30, 45초를 의미하며, 3/15가 세팅되어 있으면 3, 18, 33, 48초를 의미한다.
-
일(Day of month) 필드에서 L은 해당 월의 마지막 날을 의미하며,
요일 (Day of week) 필드에서 L은 해당 주의 마지막 날인 토요일을 의미한다.
단, 앞에 숫자가 붙을 경우 해당 월의 마지막 요일을 뜻한다.
Ex) 6L : 해당 월의 마지막 금요일 -
15W : 해당 월의 15일에서 가장 가까운 평일
- FRI#3 또는 6#3 : 매월 3번째 금요일.
Quartz에서는 지원하지 않음
댓글남기기