Cron 표현식 빌더

드롭다운과 숫자 입력으로 분·시·일·월·요일을 선택하기만 하면 cron 표현식을 만들 수 있는 도구입니다. 생성된 cron 문자열, 쉬운 말로 된 설명, 다음 5회 실행 시간을 그 자리에서 미리 볼 수 있어 crontab이나 GitHub Actions 스케줄 작성에 유용합니다.

자주 쓰는 일정 빠른 참조표

대표적인 일정에 해당하는 cron 표현식 목록입니다. 행을 클릭하면 위쪽 빌더에 프리셋으로 바로 반영됩니다.

프리셋 이름 cron 표현식 의미
매일 자정 0시 0 0 * * * 매일 0시 0분(자정)에 실행됩니다.
평일 9시 0 9 * * 1-5 평일(월~금) 9시에 실행됩니다.
매시 0분 0 * * * * 매시 0분에(1시간에 한 번) 실행됩니다.
매주 월요일 0 0 * * 1 매주 월요일 0시 0분에 실행됩니다.

  • 요일 필드를 "범위" 모드로 1부터 5까지 설정하면 월요일부터 금요일까지를 한 번에 지정할 수 있습니다.
  • "목록" 모드는 쉼표로 구분해 여러 값을 지정하는 모드로, 예를 들어 분 필드에 "0,15,30,45"를 입력하면 15분마다 실행하는 것과 같은 의미가 됩니다.
  • 일(날짜)과 요일 필드를 모두 "매번(*)" 이외로 설정하면, cron 사양상 둘 중 하나만 맞아도 실행되는 "OR" 조건이 됩니다.
  • 생성된 cron 표현식은 "복사" 버튼으로 클립보드에 복사할 수 있어 crontab이나 GitHub Actions YAML에 바로 붙여넣을 수 있습니다.
  • 프리셋 버튼이나 아래 빠른 참조표의 행을 클릭하면 대표적인 일정을 한 번에 빌더에 반영할 수 있습니다.

자주 묻는 질문

crontab은 "분 시 일 월 요일"의 5개 값을 공백으로 구분해 나열한 문자열입니다. 이 도구는 각 필드를 드롭다운이나 숫자 입력으로 선택하기만 하면 5개 필드를 자동으로 조합해 주므로, 문법을 외우지 않아도 올바른 cron 표현식을 만들 수 있습니다.

요일 필드를 "특정 값 지정" 모드로 하고 1(월요일)을 선택하면 "0 0 * * 1"처럼 매주 월요일에만 일치하는 cron 표현식이 됩니다. 시각을 바꾸고 싶다면 분·시 필드도 "특정 값 지정" 모드로 조정하세요.

요일 필드를 "범위" 모드로 하고 1(월요일)부터 5(금요일)까지 지정하세요. 다만 cron 자체는 공휴일 개념이 없으므로, 특정 공휴일을 제외하고 싶다면 스크립트 쪽에서 별도로 공휴일 판정 로직을 추가해야 합니다.

네. 표준 5필드 형식(Vixie cron 호환)의 cron 표현식을 생성하므로, 리눅스 서버의 crontab, GitHub Actions의 schedule, 쿠버네티스 CronJob 등 동일한 5필드 cron 문법을 사용하는 대부분의 환경에서 그대로 사용할 수 있습니다.
ツールくん

여담 ― cron 표현식은 왜 "읽기"보다 "만들기"가 어려울까

cron 표현식은 5개 필드만 알면 쉽게 쓸 수 있을 것 같지만, 막상 직접 작성하려면 "*/15"와 "1-30/5" 중 어느 쪽이 맞는지, 요일이 0부터 시작하는지 1부터 시작하는지 같은 세세한 사양을 떠올려야 해서 의외로 손이 많이 갑니다. 반대로 이미 작성된 cron 표현식을 읽고 의미를 파악하는 작업(본 사이트의 Cron 표현식 파서가 담당하는 역할)은 필드를 순서대로 따라가기만 하면 비교적 기계적으로 할 수 있습니다.

이 도구는 이러한 비대칭성에 주목해, UI 선택을 통해 cron 표현식을 "만드는" 작업을 지원합니다. 드롭다운과 숫자 입력으로 "평일 9시에 실행하고 싶다"와 같은 의도를 직접 표현하면, 그 의도를 충족하는 cron 표현식을 자동으로 조합해 주어 문법을 암기해야 하는 부담 자체를 없앱니다.

생성한 cron 표현식이 의도한 대로 동작하는지 확인하는 마지막 단계로, 다음 실행 예정 일시를 5건 미리 볼 수 있는 기능을 갖추고 있습니다. 특히 일(날짜)과 요일을 동시에 제한하면 "OR" 조건이 되는 헷갈리기 쉬운 사양이 있기 때문에, 실제 후보 일시를 눈으로 직접 확인할 수 있다는 점은 의도와 다른 빈도로 실행되는 문제를 미리 방지하는 데 도움이 됩니다.