Cron 표현식 파서
Cron 스케줄 표현식 분석 및 설명
minute (0-59) | hour (0-23) | day (1-31) | month (1-12) | weekday (0-6)
자주 쓰는 예제
최종 수정:
도구 소개
Cron 표현식 파서는 Unix cron, GitHub Actions, Kubernetes CronJob 등에서 사용하는 5개 필드 구문을 사람이 읽을 수 있는 문장으로 풀어주고, 앞으로 실행될 시각도 미리 보여줍니다. 5개 필드는 분 / 시 / 일 / 월 / 요일이며, 각각 와일드카드(*), 범위(1-5), 리스트(1,3,5), 간격(*/15)을 지원합니다.
사용 방법
- `0 9 * * 1-5` 같은 cron 표현식을 입력합니다.
- 아래 표시되는 자연어 설명으로 의도와 일치하는지 확인합니다.
- 다음 실행 시각 목록으로 월 경계, 윤년 등 엣지 케이스를 검증합니다.
- 예제 버튼을 눌러 자주 쓰는 표현식을 빠르게 불러옵니다.
- 검증된 표현식을 crontab, GitHub Actions, Kubernetes 매니페스트에 그대로 붙여넣습니다.
주요 사용 사례
- 매일 새벽 3시 데이터베이스 백업 예약 (`0 3 * * *`)
- 매주 월요일 오전 9시에 CI 워크플로우 실행 (`0 9 * * 1`)
- 15분마다 정리 작업 트리거 (`*/15 * * * *`)
- 금요일 오후 5시에 주간 요약 이메일 발송 (`0 17 * * 5`)
- 매달 1일 자정에 로그 롤테이션을 수행하는 Kubernetes CronJob 정의
- 배포 전에 범위/스텝을 사용한 복잡한 표현식의 동작을 미리 검증
자주 묻는 질문
Q. 표현식이 예상하지 않은 시각에 실행되는 이유는?
A. cron은 일(day-of-month)과 요일(day-of-week)이 둘 다 지정되면 AND가 아닌 OR로 해석합니다. `* * 15 * 1`은 매월 15일 OR 매주 월요일에 실행됩니다.
Q. cron은 어떤 타임존을 사용하나요?
A. 호스트/컨테이너 설정 시간대를 사용합니다. GitHub Actions는 UTC, Kubernetes CronJob은 별도 spec.timeZone을 지정하지 않으면 컨트롤러 매니저의 타임존을 따릅니다.
Q. 6필드 cron 표현식도 지원되나요?
A. Quartz, AWS EventBridge 등은 초 또는 연도 필드가 추가된 6필드 변형을 사용합니다. 본 파서는 표준 POSIX 5필드 형식을 따릅니다.
Q. 특정 시각에 한 번만 실행하려면?
A. cron 자체에는 one-shot 모드가 없습니다. systemd timer, at, 이벤트 기반 트리거를 사용하세요.