5분마다
*/5 * * * *
5분마다 실행 - 매시 정각부터 5분 간격으로.
간격 표기(*/5)는 숫자를 일일이 나열하지 않고도 "N마다"를 표현하는 가장 간단한 방법입니다. 헬스 체크나 폴링 잡에 자주 씁니다.
cron 일정을 만들고 해석하며 다음 실행 시간을 미리 봅니다.
마지막 업데이트
Coddy teaches you by writing real code in your browser - interactive lessons, instant feedback, and AI help when you get stuck.
Cron 표현식은 반복 스케줄을 짧게 표현하는 방식입니다. 원조 Linux 스케줄러인 Unix cron에서 쓰던 문법 그대로인데, 지금은 거의 모든 잡 러너에서 그대로 쓰입니다 - Kubernetes CronJob, GitHub Actions schedules, AWS EventBridge, Cloudflare Workers, Vercel cron, 그리고 대부분의 CI/CD 플랫폼까지요.
처음 보면 복잡해 보이지만 실제로는 공백으로 구분된 다섯 개 필드가 전부입니다: 분, 시, 일, 월, 요일. 각 필드에는 숫자, 리스트(1,15), 범위(9-17), 간격(*/5), 또는 와일드카드(*)를 넣을 수 있습니다. 좋은 cron 도구라면 이 표현식을 자연어로 풀어 보여주고, 다음 실행 시각도 미리 보여줘서 배포 전에 확인할 수 있게 해줘야 합니다.
일부 플랫폼은 기본 5필드 문법 앞에 *초* 필드를 붙이거나(Quartz, Spring, Kubernetes 6필드) 뒤에 *연도* 필드를 붙여 확장합니다. 표현식을 그대로 붙여넣기 전에 사용 중인 스케줄러가 어떤 형식을 받는지 꼭 확인하세요.
*는 해당 필드의 "모든 값"이라는 뜻 - 의도보다 자주 실행되는 가장 흔한 원인입니다.*/N은 "N 단위마다"를 뜻합니다. 분 필드의 */5는 "5분마다"라는 의미죠.원하는 스케줄과 비슷한 프리셋을 고르세요 - 매분, 매시간, 매일 오전 9시, 평일 오전 9시, 매월. 표현식이 에디터에 바로 채워집니다.
분, 시, 일, 월, 요일을 직접 수정하세요. 모든 값에는 *, 콤마 리스트, 범위(9-17), 간격(*/15)을 쓸 수 있습니다.
도구가 표현식을 문장으로 풀어줍니다(평일 09:00). 이 문장이 의도와 다르다면 표현식이 잘못된 것입니다.
로컬 시간대로 다음 5~10번의 실행 시각을 확인하세요. 스케줄이 서머타임 전환 시점 근처라면 특히 주의해야 합니다.
완성된 표현식을 crontab, GitHub Actions 워크플로우, Kubernetes CronJob 등 사용 중인 스케줄러에 붙여넣으면 끝입니다.
표준 cron 표현식의 다섯 필드를 순서대로 정리했습니다. 참고: POSIX crontab(5) man 페이지.
| 위치 | 필드 | 범위 | 특수문자 |
|---|---|---|---|
| 1 | 분(Minute) | 0–59 | * , - / |
| 2 | 시(Hour) | 0–23 | * , - / |
| 3 | 일(Day of month) | 1–31 | * , - / ? (일부 방언) |
| 4 | 월(Month) | 1–12 또는 JAN–DEC | * , - / |
| 5 | 요일(Day of week) | 0–6 (일=0) 또는 SUN–SAT | * , - / |
*/5 * * * *
5분마다 실행 - 매시 정각부터 5분 간격으로.
간격 표기(*/5)는 숫자를 일일이 나열하지 않고도 "N마다"를 표현하는 가장 간단한 방법입니다. 헬스 체크나 폴링 잡에 자주 씁니다.
0 9 * * 1-5
월요일부터 금요일까지, 매일 09:00에 실행.
요일 범위 1-5는 월~금을 뜻합니다. 업무 시간 알림이나 평일에만 보내는 다이제스트에 잘 어울립니다.
0 0 1 * *
매월 1일 00:00에 실행.
일(day-of-month)을 1로 두고 나머지 필드는 *로 두면 정확한 월간 잡이 됩니다. 정산, 리포트, 로테이션 작업에 흔히 씁니다.
0,30 9-17 * * 1-5
월~금, 09:00부터 17:00 사이의 매시 0분과 30분에 실행.
콤마 리스트(0,30) + 범위(9-17) + 평일 조합입니다. 업무 시간에만 의미 있는 BI 새로고침이나 큐 비우기 작업에 딱 맞는 형태죠.
*/45를 쓰고 45분마다 실행될 거라 기대한다. 간격 값은 0부터 계산되기 때문에 */45는 0분과 45분에만 실행됩니다 - 진짜 45분 간격이 아닙니다.*, 정확한 값에는 숫자, 리스트는 콤마(1,15), 범위는 9-17, 간격은 */5 형식으로 씁니다.*/5 * * * *는 무슨 뜻인가요?*/5는 0분부터 5분 간격으로 - 0, 5, 10, 15, …, 55에 실행되고, 나머지 필드의 *는 매시간, 매일, 매월, 매 요일 실행된다는 의미입니다.TZ=Europe/Berlin, AWS schedule expressions 등). 헷갈릴 땐 UTC로 저장하는 게 안전합니다.0 0 * * 0과 0 0 * * 7의 차이는 뭔가요?7도 일요일로 받아들이는 방언이 많습니다.