평일 오전 9시
- 입력
- 0 9 * * 1-5
- 결과
- 월–금 09:00
요일은 0–6이고 일요일이 0입니다. 0과 7 모두 일요일로 인정됩니다.
cron 표현식을 붙여넣으면 실제로 언제 실행되는지 보여줍니다. 각 필드를 분해해 설명하고, 스케줄러가 쓰는 타임존 기준으로 실행 시각을 계산합니다. cron 사고의 대부분이 바로 이 타임존에서 나옵니다.
자주 쓰는 스케줄
| 필드 | 값 | 매칭 |
|---|---|---|
| 분 | 0 | 0 |
| 시 | 9 | 9 |
| 일 | * | 모든 값 |
| 월 | * | 모든 값 |
| 요일 | 1-5 | 월, 화, 수, 목, 금 |
전부 브라우저 안에서 처리됩니다. 이 페이지는 정적 파일입니다. 입력한 내용은 탭 안에만 머물고 서버로 전송되지 않으며 창을 닫으면 사라집니다. 실제 토큰이나 설정을 붙여넣어도 안전합니다.
30 2 * * 0 이 무슨 뜻인지 아무도 기억하지 못할 때.요일은 0–6이고 일요일이 0입니다. 0과 7 모두 일요일로 인정됩니다.
간격은 지정한 범위 안에서만 적용되므로 밤새 돌지 않고 18:45에 멈춥니다.
두 날짜 필드를 모두 지정하면 cron은 AND가 아니라 OR로 처리합니다.
timeZone 을 지정하지 않은 쿠버네티스 CronJob은 컨트롤러의 타임존, 보통 UTC를 따릅니다. 09:00으로 적으면 한국 시간 18:00에 돕니다.
간격은 0부터 전체 범위를 나눕니다. 시 필드의 */5 는 0, 5, 10, 15, 20시를 뜻하지 지금부터 5시간마다가 아닙니다.
둘 다 좁히면 실행 횟수가 줄어드는 게 아니라 늘어납니다. 합집합을 원하는 게 아니라면 한쪽은 * 로 두세요.
표준 유닉스 cron과 쿠버네티스 CronJob은 5개입니다. 분, 시, 일, 월, 요일 순입니다. AWS EventBridge는 연도 필드가 붙어 6개이고 두 날짜 필드 중 하나에 ? 를 요구합니다. Quartz는 맨 앞에 초가 붙어 6~7개입니다.
spec.timeZone 을 설정하지 않으면 kube-controller-manager의 타임존, 대개 UTC로 해석됩니다. 명시적으로 지정하거나, UTC 기준으로 적고 그 사실을 문서에 남기세요.
0 0 * * *, 즉 매일 자정의 축약형입니다. @hourly, @weekly, @monthly, @yearly 도 있습니다. @reboot 은 성격이 달라서 부팅 시 실행되며 정해진 시각이 없습니다.