Cron표현식이 뭐길래

💡 핵심 요약 (TL;DR)

Cron표현식이 뭐길래의 동작 원리를 이해하고 실제 프로젝트에 적용하기 위한 실무 가이드다. Cron 표현식은 스케줄러 시간을 세팅할 때 주로 사용되는 표현식으로 7개의 필드를 띄어쓰기로 구분한다.

신규로 맡은 프로젝트의 코드분석 중 크론표현식을 만났다.
크론표현식을 한 번 공부한 적이 있어서 당연히 술술 읽힐 줄 알았는데 웬걸… 기억이 나질않았다.
역시 안다고 생각하는 것과 아는 것은 다르다.

이참에 포스팅을 통해 확실히 내 것으로 만들어야겠다.

개념

Cron 표현식은 스케줄러 시간을 세팅할 때 주로 사용되는 표현식으로 7개의 필드를 띄어쓰기로 구분한다.
연도는 생략가능하다!

형태

시간을 나타내는 표현식인만큼 필드를 외우기는 참 쉽다!

1
<초> <분> <시> <일> <월> <요일> <년>

각 필드마다 허용되는 값과 허용되는 특수문자가 다르다. 각 특수문자의 의미도 알아둬야한다!

필드 필수여부 허용되는 값 허용되는 특수문자
초 Y 0-59 , - * /
분 Y 0-59 , - * /
시간 Y 0-23 , - * /
일 Y 1-31 , - * ? / L W C
월 Y 0-11 or JAN-DEC , - * /
요일 Y 1-7 or SUN-SAT or sun-sat , - * ? / L C #
년 N empty or 1970-2099 , - * /

특수문자의 의미

특수문자 의미
* 모든 값
? 특정한 값이 없음
  • | 범위 지정
    , | 여러 값을 지정
    / | 증가하는 값을 지정(초기값/증가값)
    L | 마지막 값 지
    W | 가장 가까운 평일

| 몇 번째 무슨 요일인지 지정

예시

1
2
3
4
5
6
7
8
0 30 13 * * ?
// 매일 오후 1시 30분마다

0 30 10 ? * MON-FRI
//평일 오전 10시 30분마다

0 15 15 L * ?
// 매월 말일 3시 15분마다

사실 가장 쉬운 방법은 cronmaker사이트를 이용하면된다.

참고

Author

sowon-dev

Posted on

2022-11-16

Updated on

2026-10-13

Licensed under

CC BY 4.0

댓글