자주 묻는 질문
cron 문법·타임존·플랫폼별 차이에 관한 15개 질문.
- Q1. cron 표현식은 총 몇 개 필드인가요?
- POSIX 표준은 5개 필드(분·시·일·월·요일) 입니다. Quartz(Java)는 초를 포함한 6필드 또는 년을 포함한 7필드, AWS EventBridge 는 년 필드를 포함한 6필드를 씁니다. 이 도구는 가장 범용인 POSIX 5필드를 다룹니다.
- Q2.
0 9 * * 1-5의 1-5 는 월요일부터 금요일인가요? - 네. 요일 필드는 0=일, 1=월, …, 6=토, 7=일(별칭) 로 매핑됩니다. 따라서 1-5 는 월~금. 참고로 cron 구현체에 따라 "7=일요일" 처리 방식이 조금 다르지만, 대부분 0 과 7 을 모두 일요일로 허용합니다.
- Q3.
*/5 * * * *는 정말 "매 5분마다" 인가요? - 네.
*/5는 0,5,10,15,20,25,30,35,40,45,50,55 분에 실행. "5분이 지난 후마다" 가 아니라 "0분 기준 5의 배수" 임에 주의하세요. cron 을 처음 시작한 시점에서 5분 간격이 아닙니다. - Q4. 일(day) 과 요일(weekday) 을 모두 지정하면 어떻게 해석되나요?
- POSIX 와 Vixie cron(Linux) 은 둘 중 하나라도 만족하면 실행(OR). Quartz(Java) 는 둘 모두를 요구하므로
?로 하나를 비워야 합니다. 이 도구는 POSIX OR 해석을 따릅니다. 예:0 0 13 * 5는 "매월 13일이거나 매주 금요일" 에 실행되어 사용자가 의도한 "13일의 금요일" 이 아닙니다. - Q5.
@daily,@hourly같은 키워드도 쓸 수 있나요? - 네.
@yearly(=0 0 1 1 *),@monthly(=0 0 1 * *),@weekly(=0 0 * * 0),@daily/@midnight(=0 0 * * *),@hourly(=0 * * * *) 를 모두 인식합니다. - Q6. 다음 실행 시각은 어느 타임존 기준인가요?
- 한국 표준시(KST, UTC+9) 기준입니다. 우측 결과 카드에 표시된 시각은 모두 KST 의 "시계 위 시간" 입니다. 프로덕션이 UTC 로 돌고 있다면 표시된 시각에서 9시간을 빼면 UTC 실행 시각이 됩니다.
- Q7. GitHub Actions 의
schedule:에도 이 변환기를 쓸 수 있나요? - 네. GitHub Actions 는 POSIX 5필드를 받습니다. 단 GitHub Actions 는 항상 UTC 기준이므로, 한국 오전 9시 트리거를 원하면
0 0 * * *(UTC 자정 = KST 9시) 처럼 9시간 차이를 수동으로 반영하세요. - Q8. Kubernetes CronJob 에도 사용할 수 있나요?
- 네. Kubernetes CronJob 의
spec.schedule은 POSIX 5필드를 받습니다. 타임존은 1.27+ 에서spec.timeZone: "Asia/Seoul"로 지정 가능. 1.27 미만이면 UTC 기준으로 표현식을 재작성해야 합니다. - Q9. AWS EventBridge 의 cron 도 같은 문법인가요?
- 아닙니다. AWS EventBridge 는 6필드(분·시·일·월·요일·년) 이고
?,L,W,#를 지원합니다. POSIX 5필드를 그대로 넣으면 에러가 납니다. EventBridge 전용 탭은 후속 릴리스에 추가할 예정입니다. - Q10. 제가 입력한 표현식이 서버로 전송되나요?
- 아니요. 모든 파싱·다음 실행 시각 계산은 브라우저 안에서 JavaScript 로 실행됩니다. 페이지가 한 번 로드된 뒤에는 네트워크가 끊겨도 계속 동작합니다. 입력은 네트워크로 나가지 않습니다.
- Q11. 자연어 → 크론 역변환은 어떤 문장을 인식하나요?
- 현재는 한국어 패턴 중심으로 "매 분", "매 N분마다", "매 시간", "매일 오전 9시", "매일 자정", "평일 오전 9시", "주말 오전 10시", "매주 월요일 자정", "매월 1일 자정", "매년 1월 1일 자정", "요일 범위 (월요일~금요일 오전 9시)" 등을 인식합니다. 영어도 일부 인식하지만 한국어에 비해 커버리지가 좁습니다.
- Q12. crontab.guru 와 뭐가 다른가요?
- crontab.guru 는 영어 전용이고 한국어 UI 가 없습니다. 이 도구는 한국어 자연어 설명을 1차로 두고, 영어 설명을 병행 제공합니다. 또한 KST 기준 다음 실행 10건, 한국어 자연어 → 크론 역변환, 한국 개발 환경에서 자주 쓰는 프리셋 20개를 포함합니다. 반대로 crontab.guru 가 지원하는 일부 Quartz 확장(L, W, # 등) 은 아직 이 도구에 없습니다.
- Q13. 초 단위 cron 을 쓰고 싶어요.
- 초 필드는 Quartz(Java), Jenkins, Kubernetes 일부 같은 6필드 방언에만 존재합니다. POSIX cron 최소 단위는 1분입니다. 초 단위가 필요하면 애플리케이션 레벨 스케줄러(Spring @Scheduled, APScheduler) 또는 Quartz 를 쓰세요. 이 도구의 Quartz 탭은 로드맵에 있습니다.
- Q14. 2월 30일 같이 존재하지 않는 날짜를 지정하면?
- 파싱은 성공하지만 해당 cron 은 영원히 실행되지 않습니다. "다음 실행 시각" 이 비어 있다면 이 경우를 의심하세요. 2월 마지막 날을 원하면 Quartz 의
L이 필요합니다(이 도구 미지원). - Q15. 오픈소스인가요?
- 현재는 소스 공개 전이지만 파싱·설명·다음 실행 계산·역변환의 전체 로직은
src/lib/cronParser.ts한 파일에 들어 있으며 표준 브라우저 API 만 사용합니다. 요청이 많으면 공개를 검토하겠습니다.