Cron 표현식 해석
Cron 표현식을 넣으면 무슨 뜻인지, 다음에 언제 실행되는지 보여 줍니다.
입력값은 브라우저 밖으로 나가지 않음POSIX crontab기준일 2026.10.03
입력
Cron 표현식 해석 사용 방법
- 10 9 * * 1-5 같은 Cron 표현식을 입력하거나 「예시 넣기」를 누릅니다.
- 2작업이 실행되는 시간대를 고릅니다. 브라우저, UTC, Asia/Seoul, Asia/Tokyo 가운데 하나입니다.
- 3설명과 다음 실행 시각 5회를 확인하고, 필요한 줄의 「복사」 버튼을 누릅니다.
Cron 표현식 해석 옵션
- 형식
- 자동은 필드 수로 정합니다. 5필드(분 시 일 월 요일. Unix cron, Kubernetes, GitHub Actions), 6필드(맨 앞에 초), 7필드(Quartz, 끝에 연도)입니다. 6필드 표현식을 Quartz의 요일 번호(1이 일요일)로 읽으려면 Quartz를 고릅니다.
- 시간대
- 다음 실행 시각을 이 시간대로 계산해 보여 줍니다. 브라우저(기본), UTC, Asia/Seoul, Asia/Tokyo 가운데 고릅니다. 줄마다 같은 시각을 UTC로도 함께 보여 줍니다.
Cron 필드
5필드 형식은 POSIX crontab 규격에서 왔습니다.
| 필드 | 범위 | 참고 |
|---|---|---|
| 분 | 0~59 | |
| 시 | 0~23 | |
| 일 | 1~31 | L은 그 달의 마지막 날 |
| 월 | 1 |
|
| 요일 | 0 |
0과 7은 모두 일요일 |
모든 필드에서 *는 모든 값, 1,15는 목록, 1-5는 범위, */15는 간격입니다. 이 도구는 먼저 필드 수와 필드마다의 범위를 검사합니다. 그래서 오류가 나면 몇 번째 필드가 틀렸는지와 그 필드에 쓸 수 있는 값을 알려 줍니다.
GitHub Actions와 Kubernetes의 시간대
Cron 표현식 자체에는 시간대가 없습니다. 같은 0 9 * * 1-5가 어떤 서버에서는 한국 시간 오전 9시에, 다른 서버에서는 UTC 오전 9시에 실행됩니다. GitHub Actions의 schedule은 timezone을 지정하지 않으면 UTC로 해석하므로, 그대로 두면 한국 시간 오전 9시는 0 0 * * 1-5로 적어야 합니다. Kubernetes CronJob은 spec.timeZone을 지정하지 않으면 컨트롤러 매니저의 시간대를 씁니다.
Cron 표현식 해석 예시
평일 오전 9시
시간대 Asia/Seoul, 2026-10-02(금) 10:00 기준.
입력
0 9 * * 1-5
출력
오전 09:00, 월요일부터 금요일까지 2026-10-05 (월) 09:00 2026-10-06 (화) 09:00 2026-10-07 (수) 09:00 2026-10-08 (목) 09:00 2026-10-09 (금) 09:00
15분마다
시간대 Asia/Seoul, 2026-10-02 10:07 기준.
입력
*/15 * * * *
출력
15분마다 2026-10-02 (금) 10:15 2026-10-02 (금) 10:30 2026-10-02 (금) 10:45 2026-10-02 (금) 11:00 2026-10-02 (금) 11:15
없는 날짜
입력
0 0 31 2 *
출력
실행되지 않음(2월 31일 없음)
범위를 벗어난 값
입력
0 25 * * *
출력
2번째 필드(시)는 0~23입니다.
예시는 이 도구를 검증하는 기준 사례의 값입니다.
Cron 표현식 해석 자주 묻는 질문
입력값이 서버로 전송되나요?
아니요. 입력과 결과는 이 브라우저 안에서만 처리되며 저장하지도 않습니다. 새로 고침하면 사라집니다.
일과 요일을 둘 다 지정하면 어떻게 되나요?
Unix cron(Vixie cron)에서는 둘 중 하나만 맞아도 실행합니다. 0 0 1 * 1은 매월 1일에도, 매주 월요일에도 실행됩니다. 이 도구는 둘 다 지정한 표현식에 안내를 보여 주고, 같은 OR 규칙으로 실행 시각을 계산합니다.
내 cron 작업은 어느 시간대로 실행되나요?
작업을 실행하는 시스템의 시간대입니다. 서버의 crontab은 서버 시간대를 씁니다. GitHub Actions의 schedule은 timezone을 지정하지 않으면 UTC입니다. Kubernetes CronJob은 spec.timeZone을 지정하지 않으면 컨트롤러 매니저의 시간대를 씁니다. 여기서 그 시간대를 고르면 실제 실행 시각을 볼 수 있습니다.
@daily나 @reboot도 되나요?
@yearly, @monthly, @weekly, @daily, @hourly는 5필드로 풀어서 다른 표현식과 똑같이 해석합니다. @reboot는 시스템이 시작될 때 한 번 실행하는 것이라 설명만 보여 주고 실행 시각은 없습니다.
5필드, 6필드, Quartz는 무엇이 다른가요?
5필드는 분부터 시작합니다. 6필드는 맨 앞에 초가 더 있습니다. Quartz도 초가 있고 끝에 연도를 쓸 수 있으며, 요일을 1(일요일)부터 7(토요일)로 세고, 지정하지 않는 일·요일 필드에 ?를 씁니다.
관련 도구
처리 방식·표준
- 처리 위치: 이 브라우저 (내 기기). 전송하거나 저장하지 않습니다.
- 표준: POSIX crontab
- 엔진: cronstrue 3.27.0 (MIT) · croner 10.0.1 (MIT) · ZEKILO Dev 필드 검사 (자체 구현)
- 설명 문구는 cronstrue 라이브러리가 페이지 언어로 만듭니다.
- 실행 시각은 입력한 순간을 기준으로 셉니다. 페이지를 열어 두면 1분마다 목록을 다시 계산합니다.
- L-n(월말에서 며칠 전)을 쓴 표현식은 설명만 보여 주고 실행 시각은 계산하지 않습니다.
- 기준일 2026.10.03
- 변경 이력: 2026.10.03 처음 공개