본문으로 건너뛰기

무료 Cron 표현식 빌더

예약 작업을 위한 cron 표현식을 작성, 검증, 설명합니다. 라이브 평문 설명, 다음 5회 실행 미리보기, 일반적인 패턴 사전 설정을 제공합니다.

한 번 로드하면 오프라인에서도 작동
분
(0-59)
시
(0-23)
일
(1-31)
월
(1-12)
요일
(0-7)

설명

오전 9:00에 실행, 월요일부터 금요일까지.

일반 패턴

표준 Unix cron, GitHub Actions, Kubernetes CronJob 및 대부분의 스케줄링 시스템과 호환됩니다. *는 '매', */5는 '5마다', 1-5는 범위, 1,15는 특정 값입니다. @hourly, @daily, @weekly, @monthly, @yearly, MON-FRI 또는 JAN-DEC 같은 이름도 지원합니다.

주요 용도

  • GitHub Actions 워크플로우용 Cron 만들기GitHub Actions는 예약된 워크플로우에 cron 구문을 사용합니다. 여기서 일정을 만들고 확인합니다.
  • Kubernetes CronJob용 Cron 만들기Kubernetes CronJob 리소스는 표준 cron 구문을 사용합니다. 표현식을 시각적으로 구축하고 설명합니다.
  • Linux crontab용 Cron 항목 만들기기존 Unix cron (cron, crontab -e)용 표현식을 자신 있게 구축합니다.
  • 데이터베이스 유지 보수 작업 예약cron 표현식을 사용하여 백업, 진공 또는 분석 작업을 자신 있게 예약합니다.
  • Cron 표현식이 어떻게 작동하는지 알아봅니다각 조정은 즉각적인 평문 영어 설명과 다음 5회 실행의 미리보기를 표시합니다 — cron을 배우는 최고의 방법.

사용 방법

cron 표현식 빌더는 lib/cron.ts의 직접 작성한 파서로 전적으로 브라우저에서 실행됩니다. 외부 라이브러리도 서버 호출도 없습니다. 표현식을 검증하고, 로캘에 맞는 요일과 월 이름을 위해 브라우저 내장 Intl.DateTimeFormat과 Intl.ListFormat API를 사용해 쉬운 설명을 조합하며, 매 분을 무차별 대입하는 대신 필드 건너뛰기 로직으로 시간을 앞으로 진행하며 다음 실행 시각을 계산합니다.

  1. 1
    필드별로 표현식 파싱
    파서는 표현식을 공백으로 구분된 5개(또는 6개) 필드로 나누고, 각 필드에서 쉼표, 범위(예: 1-5), 간격 표기(예: */15), MON이나 JAN 같은 이름 값을 토큰화합니다. @daily 같은 @매크로는 파싱 전에 5필드 표현으로 확장됩니다. 잘못된 값이나 범위를 벗어난 숫자는 현지화된 메시지에 매핑되는 오류 키로 표시됩니다.
  2. 2
    사람이 읽을 수 있는 설명 조합
    lib/cron.ts의 describeCron()은 어떤 필드가 와일드카드이고 어떤 필드가 명시적 집합인지 검사해 영어(또는 현지화된) 문장을 만듭니다. 요일과 월 이름은 활성 로캘의 Intl.DateTimeFormat으로 결정되고, 목록 항목은 Intl.ListFormat으로 연결되어 접속사('and', ',' 또는 로캘별 형태)가 사용자의 언어에 맞춰집니다.
  3. 3
    필드 건너뛰기로 다음 실행 시각 계산
    nextRuns()는 현재 시점부터 Date 객체를 앞으로 진행하지만, 매 분을 검사하는 대신 일치할 수 없는 월, 일, 시간 전체를 건너뜁니다. 따라서 2월 30일 같은 불가능한 일정은 260만 번 반복하지 않고 5년 범위 검사로 빠르게 종료됩니다.
  4. 4
    URL 프래그먼트로 표현식 공유
    입력한 표현식은 페이지 URL 프래그먼트에 #expr=로 기록됩니다(window.history.replaceState로 500 ms 디바운스). 프래그먼트는 서버로 전송되지 않으며, 페이지가 로드될 때 이를 읽어 오므로 URL을 공유하거나 북마크하면 서버 상태 없이 정확한 표현식이 복원됩니다.

관련 도구

자주 묻는 질문