기능 소개
Cron 표현식 해석기는 Cron 스케줄을 알기 쉬운 문장으로 설명하고 다음 실행 시각을 나열합니다. Cron 문법은 간결하지만 실수하기 쉽습니다. 0 9 * * 1-5는 평일 9시 정각일까요, 아니면 9시대의 매분일까요? 배포하기 전에 여기에 표현식을 붙여넣고 정확히 언제 실행되는지 확인하세요.
다섯 개 필드 각각이 허용하는 값도 정확히 풀어서 보여주므로 범위나 간격 설정의 실수를 쉽게 찾을 수 있습니다.
사용 방법
- 입력란에 Cron 표현식을 입력하거나 예시를 클릭합니다.
- 설명과 필드 표를 읽습니다. 오류가 있으면 시를 24로 쓴 경우처럼 잘못된 필드와 열을 가리켜 줍니다.
- 예정된 실행 시각을 로컬 시간으로 볼지 UTC로 볼지, 그리고 몇 번까지 표시할지 선택합니다.
Cron 문법
Cron 표현식은 공백으로 구분된 다섯 개의 필드로 이루어집니다.
┌───────────── minute (0–59)
│ ┌─────────── hour (0–23)
│ │ ┌───────── day of month (1–31)
│ │ │ ┌─────── month (1–12 or JAN–DEC)
│ │ │ │ ┌───── day of week (0–7 or SUN–SAT, 0 and 7 are Sunday)
│ │ │ │ │
* * * * *
| 기호 | 의미 | 예시 |
|---|---|---|
* | 모든 값 | 시 필드의 * = 매시 |
, | 목록 | 1,15 = 1일과 15일 |
- | 범위 | MON-FRI = 월요일부터 금요일까지 |
/ | 간격 | */15 = 15분마다 |
@hourly, @daily(또는 @midnight), @weekly, @monthly, @yearly(또는 @annually) 같은 단축 표현도 사용할 수 있습니다.
예시
| 표현식 | 실행 시점 |
|---|---|
*/5 * * * * | 5분마다 |
0 * * * * | 매시 정각 |
0 9 * * 1-5 | 평일 09:00 |
30 2 1 * * | 매월 1일 02:30 |
0 0 * * 0 | 매주 일요일 자정 |
자주 묻는 질문
› 이 도구는 어떤 Cron 형식을 사용하나요?
crontab, Kubernetes CronJob, GitHub Actions를 비롯한 대부분의 스케줄러가 사용하는 표준 5필드 Unix(Vixie) Cron 형식입니다. 초 필드가 있는 6필드 형식(Quartz, Spring)은 지원하지 않습니다.
› 일(day of month)과 요일(day of week)을 둘 다 지정하면 어떻게 되나요?
표준 Cron은 둘 중 하나라도 일치하면 작업을 실행합니다. 예를 들어 0 0 1,15 * 5는 매월 1일과 15일, 그리고 매주 금요일에 실행됩니다.
› 서버에서는 실행 시각이 왜 다른가요?
Cron은 그것을 실행하는 머신이나 서비스의 시간대를 사용합니다. GitHub Actions와 대부분의 클라우드 스케줄러는 UTC를 쓰므로, 시간대를 UTC로 바꾸면 실제로 언제 실행될지 확인할 수 있습니다.
› MON이나 JAN 같은 이름을 써도 되나요?
네. 월은 JAN–DEC, 요일은 SUN–SAT을 대소문자 구분 없이 사용할 수 있습니다. 일요일은 0 또는 7로 쓸 수 있습니다.