Cron 표현식 해석기
Cron 표현식을 한국어로 설명하고 다음 실행 시각을 계산합니다. 빌더 탭에서 주기를 설정해 표현식을 자동 생성할 수 있습니다. 5자리(표준)와 6자리(초 포함, Spring Scheduler 등) 모두 지원합니다.
월~금요일 오전 9시 0분마다 실행
프리셋 빠른 선택
형식
모든 일에 실행됩니다 (*)
모든 월에 실행됩니다 (*)
- 12026.04.10 (금) 09:00:04
- 22026.04.13 (월) 09:00:04
- 32026.04.14 (화) 09:00:04
- 42026.04.15 (수) 09:00:04
- 52026.04.16 (목) 09:00:04
Cron 문법 안내
Cron 해석 전에 먼저 볼 것
Cron은 문법보다 런타임 차이에서 더 자주 사고가 납니다. 아래 네 가지를 먼저 확인하면 실수를 많이 줄일 수 있습니다.
먼저 5자리인지 6자리인지부터 구분하세요
리눅스 crontab은 보통 5자리, Spring·Quartz 계열은 6자리 이상을 씁니다. 초 필드 유무를 헷갈리면 해석 결과가 완전히 달라집니다.
일과 요일 필드는 함께 읽어야 합니다
표준 cron에서는 두 필드가 동시에 제한 조건처럼 작동할 수 있고, Spring/Quartz에서는 물음표를 통해 한쪽을 비워 두는 방식이 자주 쓰입니다. 가장 많은 오해가 생기는 부분입니다.
실행 시간대는 스케줄러 서버 기준입니다
Cron 표현식 자체가 맞아도 서버 타임존이 UTC인지 Asia/Seoul인지에 따라 실제 실행 시각은 달라집니다. 운영 환경 시간대를 같이 확인해야 합니다.
표현식 검증과 설명은 같이 보는 것이 안전합니다
문법상 유효하더라도 의도한 주기와 다른 경우가 많습니다. 자연어 설명과 다음 실행 시각을 함께 확인하면 배포 전 실수를 줄일 수 있습니다.
자주 묻는 질문
표준 cron, Spring Scheduler, Quartz를 오가며 자주 생기는 혼동 지점을 FAQ로 정리했습니다.
Cron 5자리와 6자리는 무엇이 다른가요?
5자리는 분, 시, 일, 월, 요일 순서이고 6자리는 앞에 초 필드가 추가됩니다. 같은 숫자 배열이라도 어떤 스케줄러 문법을 쓰는지에 따라 완전히 다른 의미가 됩니다.
물음표, L, W, # 기호는 언제 사용할 수 있나요?
이 기호들은 주로 Quartz나 Spring Scheduler에서 쓰이는 확장 문법입니다. 표준 crontab에서는 지원되지 않는 경우가 많으므로 배포 환경 문서를 먼저 확인해야 합니다.
요일에서 0과 7은 어떻게 해석되나요?
일반적으로 둘 다 일요일로 해석하는 구현이 많지만, 라이브러리마다 표현 차이가 있을 수 있습니다. 특히 UI 빌더와 실제 서버 런타임이 서로 다른 파서를 쓰면 주의가 필요합니다.
해석은 맞는데 실제 실행 시간이 다른 이유는 무엇인가요?
가장 흔한 원인은 서버 타임존 차이입니다. 그 외에도 DST, 컨테이너 이미지의 기본 로케일, 애플리케이션 레벨 타임존 설정 때문에 결과가 달라질 수 있습니다.
빌더에서 만든 표현식을 바로 운영에 써도 되나요?
가능하지만, 반드시 스테이징이나 로그 환경에서 한 번 검증하는 편이 안전합니다. 특히 월말, 평일 보정, 특정 요일 반복처럼 경계 조건이 있는 표현식은 실제 다음 실행 시각을 확인해야 합니다.
관련 도구
cron 값과 함께 배포 설정이나 문자열 데이터를 다룰 때 같이 쓰기 좋은 도구들입니다.