Cron 표현식은 무작위 숫자와 별표처럼 보이지만, 인터넷 전역에서 수백만 개의 예약 작업이 언제 실행되는지를 제어합니다. 백업 스크립트를 설정하거나, 이메일 보고서를 예약하거나, CI/CD 파이프라인을 구성할 때 Cron을 이해하는 것은 필수적입니다. 이 튜토리얼에서는 무료 Cron 파서를 사용하여 쉽게 알려드립니다.
필요한 것
- 해석하려는 Cron 표현식, 또는 Cron으로 표현하고 싶은 스케줄
- 웹 브라우저 (Chrome, Firefox, Safari 또는 Edge)
- 계정이나 설치 불필요
단계별 가이드
Cron 표현식 입력하기
Cron 파서 도구를 여세요. 입력 필드에 Cron 표현식을 입력하거나 붙여넣으세요. 예를 들어, 0 9 * * 1을 시도해 보세요. 도구가 즉시 파싱하여 평문으로 무엇을 의미하는지 보여줍니다.
사람이 읽기 쉬운 결과 확인하기
파서가 표현식을 명확한 설명으로 변환합니다. 0 9 * * 1의 경우, "매주 월요일 09:00"과 같은 내용을 볼 수 있습니다. 도구는 또한 예정된 다음 실행 시간을 보여주어 스케줄이 예상대로 작동하는지 확인할 수 있습니다.
조정 및 실험하기
표현식을 수정하고 설명이 실시간으로 업데이트되는 것을 지켜보세요. 숫자를 변경하거나, 별표를 값으로 바꾸거나, 범위를 추가하세요. 이 즉각적인 피드백 루프가 Cron 구문을 배우고 필요한 정확한 스케줄을 구축하는 가장 빠른 방법입니다.
참고 Cron 표현식은 일반적으로 다섯 개의 필드로 구성됩니다: 분, 시, 일, 월, 요일. 일부 시스템은 초를 위한 여섯 번째 필드를 추가하지만, 다섯 필드가 표준입니다.
다섯 필드 이해하기
Cron 표현식은 공백으로 구분된 다섯 개의 필드로 구성됩니다:
┌───────────── 분 (0-59)
│ ┌───────────── 시 (0-23)
│ │ ┌───────────── 일 (1-31)
│ │ │ ┌───────────── 월 (1-12)
│ │ │ │ ┌───────────── 요일 (0-7, 0과 7은 일요일)
│ │ │ │ │
* * * * *
별표 *는 "매번"을 의미합니다. 숫자는 "정확히 이 값"을 의미합니다. 이것이 기본이며, 나머지는 모두 이 위에 구축됩니다.
일반적인 Cron 패턴
가장 자주 사용할 패턴입니다. Cron 파서에 아래 중 하나를 입력하여 설명과 검증을 확인해 보세요:
| 표현식 | 의미 |
|---|---|
* * * * * |
매분 |
0 * * * * |
매시 (0분에) |
0 9 * * * |
매일 오전 9:00 |
0 9 * * 1 |
매주 월요일 오전 9:00 |
0 9 * * 1-5 |
평일 오전 9:00 |
0 0 1 * * |
매월 1일 자정 |
0 */6 * * * |
6시간마다 |
30 8 * * 1,3,5 |
월, 수, 금 오전 8:30 |
0 0 * * 0 |
매주 일요일 자정 |
*/15 * * * * |
15분마다 |
팁 스텝 구문 */n은 "n 간격마다"를 의미합니다. 따라서 분 필드의 */15는 15분마다(매시 0, 15, 30, 45분)를 의미합니다. 요일 필드의 범위 구문 1-5는 월요일부터 금요일을 의미합니다.
특수 문자 설명
| 문자 | 의미 | 예시 |
|---|---|---|
* |
모든 값 | * * * * * = 매분 |
, |
여러 값 | 0 9,17 * * * = 오전 9시와 오후 5시 |
- |
값의 범위 | 0 9 * * 1-5 = 평일 |
/ |
스텝 간격 | */10 * * * * = 10분마다 |
직접 표현식 만들기
Cron 표현식을 처음부터 만들려면, 스케줄을 다섯 가지 질문에 대한 답으로 생각하세요:
- 몇 분에? (0-59, 또는 매분은
*) - 몇 시에? (0-23, 또는 매시는
*) - 몇 일에? (1-31, 또는 매일은
*) - 몇 월에? (1-12, 또는 매월은
*) - 무슨 요일에? (0-7, 또는 매일은
*)
예를 들어, "매주 화요일과 목요일 오후 2:30"은: 분=30, 시=14, 일=, 월=, 요일=2,4이므로 30 14 * * 2,4가 됩니다.
중요 Cron은 24시간 형식을 사용합니다. 오전 9시는 9이지만 오후 9시는 21입니다. 또한 시간대는 사용자의 현지 시간이 아니라 Cron 작업을 실행하는 서버에 따라 달라집니다. 시스템이 어떤 시간대를 사용하는지 항상 확인하세요.
자주 묻는 질문
일(day-of-month)과 요일(day-of-week)을 모두 설정하면 어떻게 되나요? 표준 Cron에서는 두 조건 중 하나가 충족되면 작업이 실행됩니다(AND가 아니라 OR). 이것은 많은 사람들을 혼란스럽게 합니다. 두 조건이 모두 필요한 경우 날짜를 확인하는 래퍼 스크립트를 사용하세요.
2시간마다 실행되도록 예약할 수 있나요?
네. 0 */2 * * *를 사용하면 매 두 번째 시간의 0분에 실행됩니다.
5필드와 6필드 Cron의 차이점은 무엇인가요? 일부 시스템(Spring, Quartz 등)은 시작 부분에 초 필드를 추가합니다. 표준 Unix Cron은 다섯 필드를 사용합니다. Cron 파서는 두 형식을 모두 지원합니다.
다음 단계
이제 Cron 표현식을 읽고 쓸 수 있으니, 프로젝트에 스케줄을 구축해 보세요. 다른 개발자 도구를 사용하는 경우, 패턴 매칭을 위한 정규식 테스터나 설정 파일 작업을 위한 JSON 포맷터를 확인해 보세요.