Cron 표현식이란?
Cron은 1970년대 Unix 시스템에서 시작된 시간 기반 작업 스케줄러로, 현재 Linux·macOS·Docker·Kubernetes·GitHub Actions·AWS Lambda·node-cron 등 거의 모든 서버·자동화 환경에서 표준으로 사용됩니다.분 시 일 월 요일 5개 필드(또는 초 포함 6개)로 구성된 짧은 문자열로 "매일 오전 9시", "매주 월요일 자정", "매월 1일" 같은 복잡한 일정을 한 줄로 표현할 수 있습니다. 본 도구는 시각적 UI로 각 필드를 선택하면 표현식이 자동 생성되고, 반대로 표현식을 입력하면 한국어로 풀어 설명해 줍니다. 추가로 다음 5회 실행 시간을 미리보기해 의도한 일정대로 동작하는지 즉시 확인 가능합니다. 모든 처리는 브라우저에서 이뤄져 외부로 전송되지 않습니다.
Cron 5필드 구조
| 필드 | 범위 | 예시 |
|---|---|---|
| 1. 분 | 0~59 | 0, 30, */15 |
| 2. 시 | 0~23 | 9, 18, 0-6 |
| 3. 일 | 1~31 | 1, 15, * |
| 4. 월 | 1~12 | 1,6,12 또는 JAN,JUN,DEC |
| 5. 요일 | 0~6 (0=일요일) | 1-5 또는 MON-FRI |
자주 쓰이는 Cron 패턴
| 표현식 | 의미 |
|---|---|
| * * * * * | 매분 |
| 0 * * * * | 매시 정각 |
| 0 9 * * * | 매일 오전 9시 |
| 0 0 * * * | 매일 자정 |
| 0 0 * * 0 | 매주 일요일 자정 |
| 0 0 1 * * | 매월 1일 자정 |
| 0 0 1 1 * | 매년 1월 1일 자정 |
| */15 * * * * | 15분마다 |
| 0 9-18 * * 1-5 | 평일 9시~18시 매시 정각 |
| 30 2 * * 6 | 매주 토요일 새벽 2시 30분 |
자주 묻는 질문 (FAQ)
Q. Cron의 시간대(timezone)는 무엇인가요?
A. Linux의 기본은 서버의 시스템 시간대를 따릅니다. AWS Lambda 등 클라우드는 UTC가 기본이라 한국 시간으로 0시 실행하려면 Cron에 15시(UTC)로 적어야 합니다(KST는 UTC+9).
Q. 일과 요일을 모두 지정하면?
A. 표준 Cron은 두 조건이 OR로 결합됩니다. 예: 0 0 1 * 1은 매월 1일 OR 매주 월요일 자정. AND 결합이 필요하면 코드 레벨에서 추가 조건이 필요합니다.
Q. 초 단위 실행도 가능한가요?
A. 표준 Cron은 분 단위가 최소이지만, Quartz Cron(Java) · node-cron 등은 6필드(초 포함)를 지원합니다. 본 도구는 5필드 표준만 지원합니다.
Q. 실행 시간 미리보기가 정확한가요?
A. 본 도구는 사용자 브라우저의 로컬 시간 기준으로 다음 5회 실행 시각을 계산합니다. 실제 서버에서 실행되는 시간대와 다를 수 있으니 배포 환경의 timezone 설정을 별도로 확인하세요.
Q. 입력값이 외부로 전송되나요?
A. 아니요. 모든 처리는 브라우저에서 수행되며 외부 서버로 전송되지 않습니다.