▼ Backend/스프링 (Spring)
Spring Boot | Schedule cron 표현식
Valar
2022. 3. 28. 10:11
반응형
자릿수 마다의 의미 (총 7자리)
초 / 분 / 시 / 일 / 월 / 요일 / 년도 (생략가능)
// 사용 예 (매일 12시에 실행)
@Scheduled(cron = "0 0 12 * * *")
표현식
표현식 | 의미 |
0 0 12 * * * | 매일 12시에 실행 |
0 15 10 * * * | 매일 10시 15분에 실행 |
0 * 14 * * * | 매일 14시에 0분~59분까지 매분 실행 |
0 0/5 14 * * * | 매일 14시에 시작해서 5분 간격으로 실행 |
0 0/5 14,18 * * * | 매일 14시, 18시에 시작해서 5분 간격으로 실행 |
0 0-5 14 * * * | 매일 14시에 0분, 1분, 2분, 3분, 4분, 5분에 실행 |
0 0 20 ? * MON-FRI | 월~금일 20시 0분 0초에 실행 |
0 0/5 14 * * ? | 아무요일, 매월, 매일 14:00부터 14:05분까지 매분 0초 실행 (6번 실행됨) |
0 15 10 ? * 6L | 매월 마지막 금요일 아무날이나 10:15:00에 실행 |
0 15 10 15 * ? | 아무요일, 매월 15일 10:15:00에 실행 |
* /1 * * * * | 매 1분마다 실행 |
* /10 * * * * | 매 10분마다 실행 |
fixed-delay | 이전에 실행된 종료시간으로부터 설정된 시간만큼 지난 후 다음을 실행 (ms) |
fixed-rate | 이전에 실행된 시작시간으로부터 설정된 시간만큼 지난 후 다음을 실행 (ms) |
기호 설명
기호 | 의미 | 사용 예 |
* | 모든 수를 의미 | seconds에서 사용하면 매초, minutes에서 사용하면 매분, hours에서 사용하면 매시간 |
? | 해당 항목을 사용하지 않음 | day of month에서 사용하면 월중 날짜를 지정하지 않음. day of week에서 사용하면 주중 요일을 지정하지 않음 |
- | 기간을 설정 | hours에서 10-12이면 10시, 11시, 12시에 동작 minutes에서 58-59이면 58분, 59분에 동작 |
, | 특정 시간을 지정 | day of week에서 2,4,6이면 월,수,금에만 동작함 |
/ | 시작시간과 반복 간격 설정 | seconds위치에 0/15로 설정하면 0초에 시작해서 15초 간격으로 동작 minutes위치에 5/10으로 설정하면 5분에 시작해서 10분 간격으로 동작 |
L | 마지막 기간에 동작 day of month, day of week에서만 사용 |
day of month에서 사용하면 해당월 마지막 날에 수행 day of week에서 사용하면 토요일에 수행 |
W | 가장 가까운 평일 동작 day of month에만 사용 |
15W로 설정하면 15일이 토요일이면 가장 가까운 14일 금요일에 실행 15W로 설정하고 15일이 일요일이면 16일에 실행 15W로 설정하고 15일이 평일이면 15일에 실행 |
LW | L과 W의 조합 | 그달의 마지막 평일에 동작 |
# | 몇 번째 주와 요일 설정 day of week에 사용 |
6#3이면 3번째 주 금요일에 동작 4#2이면 2번째 주 수요일에 동작 |
반응형