tigtools

cron 표현식 설명 도구

5개 필드로 된 cron 일정을 입력하면 의미와 다음 실행 시각을 확인할 수 있습니다. 모든 계산은 브라우저에서 이루어집니다.

브라우저에서 실행 가입 불필요

분, 시, 월중 날짜, 월, 요일의 5개 필드를 사용합니다. @daily 같은 매크로도 사용할 수 있습니다.

자주 쓰는 일정

의미

15분마다, 09:00부터 17:59까지, 월요일부터 금요일까지에.

필드

분
*/15
시
9-17
월중 날짜
*
월
*
요일
1-5
시간대

다음 10회 실행

    사용 방법

    1. cron 표현식을 입력하거나 붙여넣고, 자주 사용하는 일정 중 하나를 선택하세요.
    2. 일반 문장으로 설명된 의미를 확인하세요. 필드가 잘못된 경우 이유와 함께 표시됩니다.
    3. 현지 시간대로 표시되는 다음 10회의 실행 시각을 확인하세요. 서버가 UTC를 사용한다면 UTC로 전환하세요.
    4. 실행 시각을 복사해 공유하거나, 원하는 일정이 될 때까지 표현식을 조정하세요.

    작동 방식

    Linux의 crontab(Vixie cron 및 cronie)과 여러 CI 및 호스팅 스케줄러에서 사용하는 표준 cron 표현식은 공백으로 구분된 다섯 개의 필드로 구성됩니다. 분(0–59), 시(0–23), 일(1–31), 월(1–12 또는 JAN–DEC), 요일(0–7 또는 SUN–SAT)이며, 요일 필드에서는 0과 7이 모두 일요일을 의미합니다. 각 필드에는 모든 값을 뜻하는 *, 단일 값, 1-5와 같은 범위, 1,15,30과 같은 목록, */15(15번째 값마다) 또는 9-17/2(9시부터 17시까지 두 시간마다)와 같은 간격을 사용할 수 있습니다. 이름은 대소문자를 구분하지 않습니다. @yearly(또는 @annually), @monthly, @weekly, @daily(또는 @midnight), @hourly 단축 표기는 각각 0 0 1 1 *, 0 0 1 * *, 0 0 * * 0, 0 0 * * *, 0 * * * *을 의미합니다.

    일 필드와 요일 필드에는 많은 사람이 예상하지 못하는 규칙이 적용됩니다. 두 필드 중 하나라도 *로 시작하면 날짜가 두 필드의 조건을 모두 충족해야 합니다. 두 필드 모두 특정 값으로 제한되어 있으면 둘 중 하나만 충족해도 실행됩니다. 예를 들어 0 0 13 * 5는 매월 13일과 매주 금요일에 실행되며, 금요일인 13일에만 실행되는 것이 아닙니다. */2와 같은 간격도 필드가 *로 시작하는 것으로 간주합니다. 이 동작은 Vixie cron 및 cronie와 동일하지만, 일부 다른 스케줄러는 다르게 동작합니다.

    다음 실행 시각은 브라우저의 시간대 또는 대부분의 서버와 클라우드 스케줄러에서 사용하는 UTC 기준으로 계산됩니다. cron은 실행되는 컴퓨터의 시간대를 사용합니다. 일광 절약 시간 변경 시 실제 cron 데몬의 동작은 서로 다릅니다. 이 도구는 시계가 앞으로 이동해 존재하지 않는 현지 시각은 제외하고, 반복되는 시간은 한 번만 표시합니다. 초 또는 연도가 포함된 6개 또는 7개 필드 Quartz 표현식과 ?, L, W, # 특수 문자를 사용하는 확장 문법은 지원하지 않습니다.

    예시

    업무 시간대 상태 확인

    */15 9-17 * * 1-5는 월요일부터 금요일까지 09:00~17:59 사이에 15분마다 실행됩니다. 매일 마지막 실행 시각은 17:45입니다.

    야간 백업

    30 2 * * *는 매일 02:30에 실행됩니다. 서버가 UTC를 사용하고 뉴욕에 있다면, UTC 모드의 다음 실행 목록에서 서버가 실제로 사용할 시각을 확인할 수 있습니다.

    일 필드의 함정

    0 9 1 * 1은 ‘매월 1일이 월요일이면 9:00에 실행’하는 것처럼 보이지만, 실제로는 매월 1일 09:00과 매주 월요일에 실행됩니다. 첫 번째 월요일에만 실행하려면 0 9 1-7 * *로 예약하고 스크립트에서 요일을 확인하세요.

    자주 묻는 질문

    cron에서 */5는 무엇을 의미하나요?

    해당 필드의 가장 낮은 값부터 시작해 다섯 번째 값마다 실행한다는 뜻입니다. 분 필드에서 */5는 0, 5, 10 … 55분에 실행됩니다. 시 필드에서 */5는 0, 5, 10, 15, 20시에 실행되므로 20:00부터 자정까지의 간격은 5시간이 아니라 4시간입니다.

    작업이 예상보다 많은 날에 실행되는 이유는 무엇인가요?

    일 필드와 요일 필드가 모두 특정 값으로 제한되어 있으면 cron은 둘 중 하나에 해당하는 날짜에 실행됩니다. 예를 들어 0 0 15 * 1은 매월 15일과 매주 월요일에 실행됩니다. 두 필드 중 하나만 적용하려면 다른 필드를 *로 설정하세요.

    cron은 어떤 시간대를 사용하나요?

    crontab에서 CRON_TZ 또는 TZ(cronie에서 지원)를 설정하지 않았다면 cron 데몬이 실행되는 서버의 시스템 시간대를 사용합니다. 클라우드 스케줄러는 기본 시간대로 UTC를 사용하는 경우가 많습니다. UTC 서버에서 사용할 시각을 확인하려면 UTC 전환을 사용하세요.

    초 또는 연도 필드를 사용할 수 있나요?

    표준 cron에서는 사용할 수 없습니다. 표준 cron은 1분 단위로 실행되며 필드가 다섯 개입니다. 초와 연도를 포함하는 6개 및 7개 필드 형식은 Quartz, Spring 및 유사한 라이브러리에서 사용하며 이 도구는 지원하지 않습니다.

    일요일은 0인가요, 7인가요?

    둘 다 일요일을 의미합니다. 요일 필드에서 1은 월요일, 6은 토요일입니다. SUN부터 SAT까지 세 글자 이름으로도 입력할 수 있습니다.

    개인정보 보호

    표현식 분석과 실행 시각 계산은 브라우저에서 이루어집니다. 입력한 내용은 업로드되거나 저장되지 않으며 분석 데이터에 포함되지 않습니다.