요약

이 크론 표현식 생성기는 일정 설명 또는 붙여넣은 크론 문자열을 검증된 5필드 표현식(분, 시간, 월의 날짜, 월, 요일)으로 변환합니다. 5분마다 또는 평일 오전 9시와 같은 일반적인 프리셋을 선택하거나 각 필드를 직접 편집하세요. 범위, 목록 및 단계 값을 지원합니다. 이 도구는 일정의 일반 텍스트 설명을 렌더링하고 UTC에서 다음 5개의 실행 시간을 계산하며, vixie-cron 및 Kubernetes CronJob이 사용하는 동일한 day-of-month 및 day-of-week OR 로직을 사용하므로 여기서 보는 것이 프로덕션에서 실제로 실행되는 것과 일치합니다.

스케줄된 작업과 롤아웃 윈도우를 위한 크론 표현식 생성기

프리셋에서 5필드 크론 표현식을 만들거나 기존 표현식을 붙여넣어 검증하세요. 일정을 배포하기 전에 이해하기 쉬운 설명과 다음 5개의 실행 시간을 확인하세요.

크론 표현식 생성기

아래에서 필드 또는 프리셋을 선택하세요. 표현식, 설명, 다음 5개의 실행 시간이 입력하면서 업데이트됩니다.

0 9 * * 1-5

내부 동작

이 크론 표현식 생성기의 작동 방식

5개 필드, 표준 구문

분, 시간, 월의 날짜, 월, 요일: crontab, GitHub Actions 스케줄, Kubernetes CronJob이 모두 읽는 동일한 필드입니다. 범위(9-17), 목록(1,15,30), 단계(*/5), 와일드카드는 프로덕션에서 하는 것과 같은 방식으로 구문 분석됩니다.

일(day) 필드는 AND가 아닌 OR로 연산됩니다

월의 날짜를 1로 설정하고 요일을 월요일로 설정하면, 둘 다 일치할 때만이 아니라 월 1일 또는 모든 월요일에 작업이 실행됩니다. vixie-cron과 Kubernetes CronJob이 실제로 평가하는 방식이며, 대부분의 생성기에서 건너뛰는 세부 사항입니다.

다음 5개 실행, 실시간 계산

매번 편집할 때마다 실시간 달력을 통해 5개의 UTC 타임스탬프를 다시 계산하므로, 2월 30일처럼 절대 발생할 수 없는 일정은 조용히 crontab에 있는 대신 여기서 비어 있습니다.

붙여넣기로 확인, 구축뿐 아니라

팀원, CronJob 매니페스트 또는 오래된 Stack Overflow 답변에서 이미 크론 문자열이 있으신가요? 필드에 붙여넣으면 별도의 검증기 없이 동일한 설명과 실행 시간을 얻을 수 있습니다.

사용 방법

빈 필드에서 신뢰할 수 있는 일정으로

  1. 1

    프리셋에서 시작하기

    일반적인 일정(5분마다, 평일 오전 9시, 월 1일)을 선택하거나 기본값을 유지하고 거기서 조정하세요.

  2. 2

    중요한 필드만 조정하기

    빠른 선택 드롭다운을 사용하거나 직접 입력하세요: 쉼표 목록, 범위의 대시, 단계의 */N이 모든 필드에서 작동합니다.

  3. 3

    배포 전에 확인하기

    평문 설명을 읽고 다음 5개 실행 시간을 유지 보수 윈도우 또는 SLO 예산에 대해 확인한 후 crontab, CI 스케줄 또는 CronJob 매니페스트에 표현식을 복사하세요.

구현 세부 사항

일(day-of-month)과 요일(day-of-week) 필드가 OR 로직을 사용하는 이유

POSIX/vixie-cron(Linux crontab 및 Kubernetes CronJob 뒤의 구현)은 대부분의 사람들이 지나치는 홀수 규칙이 있습니다. day-of-month와 day-of-week 필드가 모두 *에서 제한되면, 작업은 둘 다 일치할 때만이 아니라 하나가 일치할 때 실행됩니다. day-of-month를 1로 설정하고 day-of-week를 월요일로 설정하면, 일정은 월 1일 또는 모든 월요일에 발생하며, 첫 번째가 월요일일 때만 발생하지 않습니다. 어느 필드든 *로 두면 제한된 필드만 날짜를 제약합니다. 이 생성기는 POSIX/vixie-cron 규칙을 따릅니다. 왜냐하면 그것이 실제로 crontab과 CronJob을 실행하기 때문입니다. 운영 팀이 오전 11시에 작성하는 일정에 가장 중요합니다: "첫 번째 비즈니스 날에 또는 월 1일에 실행하세요. 먼저 오는 것". 대부분의 사람들에게는 AND처럼 보이지만 프로덕션에서는 OR처럼 작동합니다.

  • POSIX/vixie-cron (Linux crontab, Kubernetes CronJob): 일(day) 필드 중 하나가 제한되면 OR
  • Quartz cron (Java 기반 스케줄러에서 일반적): 일반적으로 두 개의 일 필드 중 하나를 *가 아닌 ?로 유지해야 하므로 모호함을 완전히 피합니다
  • 이 생성기는 crontab과 CronJob이 실제로 실행하는 것이기 때문에 POSIX/vixie-cron 규칙을 따릅니다
흐릿한 서버 랙 앞 아날로그 시계 얼굴의 거시 샷 및 기어

자주 묻는 질문

이 크론 표현식 생성기는 무료인가요?
네. 브라우저에서 완전히 실행되며 계정이 필요 없고 속도 제한이 없으며 익명 페이지 조회 신호를 제외하고는 어디로도 데이터가 전송되지 않습니다.
다음 실행 시간이 어느 시간대로 표시되나요?
UTC. 대부분의 crontab, GitHub Actions 스케줄, Kubernetes CronJob 리소스는 기본값으로 UTC 또는 컨테이너의 시스템 시간을 사용하므로 시간대 변환 오류를 피할 수 있습니다. 정확한 분에 의존하기 전에 자신의 시스템 시간대를 확인하세요.
일(day-of-month) 1과 요일(day-of-week) 월요일은 둘 다가 아니라 언제 겹치는 경우만 실행되지 않나요?
cron 자체가 하는 방식이기 때문입니다. 표준 vixie-cron 구현(Linux crontab 및 Kubernetes CronJob 포함)은 일(day) 필드 중 하나가 *에서 제한되면 OR 로직으로 두 필드를 평가합니다. 이 도구는 의도적으로 그 동작과 일치합니다.
@daily, @reboot 또는 다른 바로가기 매크로를 지원하나요?
아니요. 어차피 대부분의 오케스트레이터가 필요로 하므로 5개의 표준 숫자 필드만 지원합니다. @daily는 0 0 * * *로, @hourly는 0 * * * *로, @weekly는 0 0 * * 0으로 매핑됩니다.
내 일정이 서버로 전송되나요?
아니요. 구문 분석, 평문 설명, 다음 실행 계산은 모두 클라이언트 측에서 실행됩니다. 입력하는 필드에 대한 정보는 전송되거나 저장되지 않습니다.
다음 실행 계산이 일광 절약 시간을 고려하나요?
아니요. 모든 것이 UTC에서 계산되며 UTC에는 DST가 없습니다. cron 데몬을 실행하는 시스템이 DST가 있는 현지 시간을 사용하는 경우 일년에 두 번 전환 날짜 주위의 오프셋을 별도로 확인하세요.
숫자 대신 월 또는 요일 이름을 입력할 수 있나요?
네. jan~dec와 sun~sat이 월 및 요일 필드에서 숫자 1-12 및 0-6 범위와 함께 범위 및 목록에 포함하여 작동합니다.

크론 작업이 실행됩니다. 배포를 어떤 것이 게이트하나요?

upstreamapi는 기능 플래그 롤아웃을 SLO 예산에 연결하므로 cron이 트리거한 배포는 호출기가 울리기 전이 아니라 울린 후에 자동 롤백될 수 있습니다.