크론 구문 해설: 실제로 쓰는 5개 필드와 표현식 (무료 생성기 제공)

발행: (2026년 6월 6일 PM 10:22 GMT+9)
4 분 소요
원문: Dev.to

Source: Dev.to

크론 표현식을 만들 때마다 나는 다섯 개의 숫자와 별표를 바라보며 스스로에게 의문을 품는다. 0 0 * * 0 은 일요일인가, 토요일인가? 요일은 0부터 시작하나요, 1부터인가? 이런 생각이 결국 나에게 깨달음을 주었다.

┌───────────── minute (0–59)          ── 분 (0–59)
│ ┌───────────── hour (0–23)            ── 시 (0–23)
│ │ ┌───────────── day of month (1–31) ── 일 (1–31)
│ │ │ ┌───────────── month (1–12)      ── 월 (1–12)
│ │ │ │ ┌───────────── day of week (0–6, Sunday = 0) ── 요일 (0–6, 일요일 = 0)
│ │ │ │ │
* * * * *
  • * 은 “매번”이라는 뜻입니다.
  • 숫자는 “정확히 그 시점에”라는 뜻입니다. 이 두 가지만으로도 작성하는 표현식의 약 90%를 커버합니다.
기호의미
*모든 값 (* * * * * = 매분)
,리스트 (0 9,17 * * * = 9시와 17시에)
-범위 (0 9-17 * * * = 9시부터 17시까지 매시)
/단계 (*/15 * * * * = 15분마다)

Expression / When it runs

Expression          When it runs
*/5 * * * *          매 5분마다
0 * * * *            매시 정각에
0 0 * * *            매일 자정에
0 9 * * 1-5          오전 9시, 월요일–금요일
0 0 1 * *            매월 1일 자정에
0 0 * * 0            매주 일요일 자정에
30 2 * * *           매일 새벽 2시 30분 (백업 등에 유용)

요일은 0–6이며, 0은 일요일을 의미합니다(대부분의 시스템은 7도 일요일로 인식합니다). 따라서 0 0 * * 0 은 토요일이 아니라 일요일입니다.

day-of-monthday-of-week를 동시에 지정하면 크론은 이를 OR 로 처리합니다. 예를 들어 0 0 1 * 1 은 “매월 1일 또는 매주 월요일”에 실행되며, “1일이 월요일인 경우에만” 실행되는 것이 아닙니다. 이 때문에 작업이 예상보다 두 배 더 자주 실행될 수 있으며, 디버깅이 번거로워집니다.

가장 빠른 검증 방법은 표현식을 자연어로 바꿔서 내가 의도한 내용과 일치하는지 확인하는 것입니다. 머리 속으로 계속 변환하느라 지쳤다면, 로그인 없이 사용할 수 있는 무료 크론 도구를 만들어 두었습니다. 일정 설명을 입력하면 표현식을, 혹은 표현식을 붙여넣으면 다음 실행 시간을 보여줍니다: https://forgly.dev/tools/cron-generator

일반적인 스케줄 목록을 복사‑붙여넣기 하고 싶다면 여기에서 치트시트를 확인하세요: https://forgly.dev/cron

내게 효과적이었던 팁: 크론을 오른쪽에서 왼쪽으로 읽는 습관을 버리고, 문장처럼 읽으세요 — “분 X, 시 Y, 이 날들에”.

0 조회
Back to Blog

관련 글

더 보기 »

모바일 한여름 열풍

!Cover image for Mobile Midsommer Madnesshttps://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploa...