☺️ 요약 설명
사용 방법 : @Scheduled(cron = "* * * * * *")
위의 사용 방법에서 *(Asterisk (아스테리스크))는 ALL(모든) 것을 의미 합니다.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|
| * | * | * | * | * | * | * |
| 초 | 분 | 시 | 일 | 월 | 요일 | 년(생략 가능) |
| 0~59 | 0~59 | 0~23 | 1~31 | 1~12JAN-DEC | 1-7SUN-SAT |
| 1월 | 2월 | 3월 | 4월 | 5월 | 6월 | 7월 | 8월 | 9월 | 10월 | 11월 | 12월 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| JAN | FEB | MAR | APR | MAY | JUN | JUL | AUG | SEP | OCT | NOV | DEC |
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| SUN | MON | TUE | WED | THU | FRI | SAT |
| 특수기호 | 읽는 법 | 설명 |
|---|---|---|
| ? | 물음표 | 특정값이 없을 때(어떤값이든 상관X), 날짜와 요일에만 사용가능 |
| - | Hyphen (하이픈) | 범위값을 지정할 때 |
| , | Comma (콤마) | 여러 값을 지정할 때 |
| / | Slash (슬래시) | 초기값과 증가치 설정할 때 |
| L | 대문자 L(엘) | 지정할 수 있는 범위의 마지막 값 설정할 때, 날짜와 요일에만 사용가능 |
| W | 대문자 W(더블유) | 월~금요일 또는 가장 가까운 월,금요일을 설정할 때 |
| # | Crosshatch (크로스해치), 샵 | 몇번째 특정요일을 설정할 때 |
위의 표에서 알려드린 내용으로 자주 사용되는 크론 표현식의 예시 표를 보시고 이해에 도움이 되셨으면 합니다.
| 실행 간격 | 실행 계획 | 표기식 |
|---|---|---|
| 5분 | 00:05 -> 00:10 -> 00:15 ... | cron = "0 0/5 * * * *" |
| 1시간 | 01:00 -> 02:00 -> 03:00 | cron = "0 0 0/1 * * *" |
| 매일 오후 5시 | 17:00 | cron = "0 0 17 * * *" |
| 2022년 매일 오후 5시 | 17:00 | cron = "0 0 17 * * * 2022" |
| 매일 오후 5시-오후 5시 55분 까지5분 간격 | 17:00 -> 17:05 ... -> 17:55 | cron = "0 0/5 17 * * *" |
| 매일 오후 9시-오후 10 (10분 간격) | 21:00 -> 21:10 ... -> 10:50 | cron = "0 0/10 21,22 * * *" |
| 영업시간(오전 9시 ~ 오후 6시) 정시 간격 | 09:00 -> 10:00 ... -> 18:00 | cron = "0 0 9-18 * * *" |
| 매달 1일 자정(0시) | 00:00 | cron = "0 0 0 1 * *" |
| 매년 3월 월-금 09시 실행 | 09:00 | cron = "0 0 9 ? 3 MON-FRI" |
| 매월 마지막날 저녁 10시에 실행 | 22:00 | cron = "0 0 10 L * ?" |