DBILITY

java spring cron expression 본문

java/spring

java spring cron expression

DBILITY 2016. 9. 20. 21:47
반응형

Cron Expression은 6개의 Field로 구성되며 각 Field는 순서대로

second, minute, hour, day, month, weekday를 의미한다. 

각 Field의 구분은 Space로 한다. 

또한 month와 weekday는 영어로 된 단어의 처음 3개의 문자로 정의할 수 있다.

필드이름  값
seconds 0~59
minutes 0~59
hours 0~23
day of month 1~31
month 1~12
day of week 1~7(1-일,7-토/MON,SUN...)
years (optional) 1970~2099

특수 문자 설명 

* : 모든 수를 의미. minutes위치에 있으면 매분마다 라는 뜻.
? : day of month, day of week에만 사용 가능. 특별한 값이 없다는 뜻.
- : 기간을 설정. hours 위치에 10-12 라고 쓰면 10, 11, 12에 동작하라는 뜻.
, : 특정 시간을 설정. day of week위치에 2,4,6 라고 쓰면, 월,수,금에만 동작하란 뜻.
/ : 증가를 표현. seconds위치에 0/15로 설정되어 있으면, 0초에 시작해서 15초 간격으로 동작하라는 뜻.
L : day of month, day of week에만 사용하며, 마지막 날의 의미.
    day of month에 L로 되어 있으면,그 달의 마지막 날에 실행하라는 뜻.
W : day of month에만 사용하며, 가장 가까운 평일을 의미. 15W로 설정되어 있고 15일이 토요일이면,
     가장 가까운 평일인 14일 금요일에 실행, 15일이 일요일이면 16일 월요일에 실행된다.
     15일이 평일이면 그날 그대로 실행됨.

LW : L과 W를 결합하여 사용. 그달의 마지막 평일의 의미
# : day of week에 사용, 6#3 3번째 주 금요일이란 의미 


Expression Meaning

 "0 0 12 * * ?" : 아무 요일, 매월, 매일 12:00:00
 "0 15 10 ? * *" : 모든 요일, 매월, 아무 날이나 10:15:00 
 "0 15 10 * * ?" : 아무 요일, 매월, 매일 10:15:00 
 "0 15 10 * * ? *" : 모든 연도, 아무 요일, 매월, 매일 10:15 
 "0 15 10 * * ? : 2005" 2005년 아무 요일이나 매월, 매일 10:15 
 "0 * 14 * * ?" : 아무 요일, 매월, 매일, 14시 매분 0초 
 "0 0/5 14 * * ?" : 아무 요일, 매월, 매일, 14시 매 5분마다 0초 
 "0 0/5 14,18 * * ?" : 아무 요일, 매월, 매일, 14시, 18시 매 5분마다 0초 
 "0 0-5 14 * * ?" : 아무 요일, 매월, 매일, 14:00 부터 매 14:05까지 매 분 0초 
 "0 10,44 14 ? 3 WED" : 3월의 매 주 수요일, 아무 날짜나 14:10:00, 14:44:00 
 "0 15 10 ? * MON-FRI" : 월~금, 매월, 아무 날이나 10:15:00 
 "0 15 10 15 * ?" : 아무 요일, 매월 15일 10:15:00 
 "0 15 10 L * ?" : 아무 요일, 매월 마지막 날 10:15:00 
 "0 15 10 ? * 6L" : 매월 마지막 금요일 아무 날이나 10:15:00 
 "0 15 10 ? * 6L 2002-2005" : 2002년부터 2005년까지 매월 마지막 금요일 아무 날이나 10:15:00 
 "0 15 10 ? * 6#3" : 매월 3번째 금요일 아무 날이나 10:15:00


* org.springframework.scheduling.support.CronSequenceGenerator API 참조


반응형
Comments