사용 방법
- cron 표현식을 입력하거나 붙여넣고, 자주 사용하는 일정 중 하나를 선택하세요.
- 일반 문장으로 설명된 의미를 확인하세요. 필드가 잘못된 경우 이유와 함께 표시됩니다.
- 현지 시간대로 표시되는 다음 10회의 실행 시각을 확인하세요. 서버가 UTC를 사용한다면 UTC로 전환하세요.
- 실행 시각을 복사해 공유하거나, 원하는 일정이 될 때까지 표현식을 조정하세요.
작동 방식
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까지 세 글자 이름으로도 입력할 수 있습니다.
개인정보 보호
표현식 분석과 실행 시각 계산은 브라우저에서 이루어집니다. 입력한 내용은 업로드되거나 저장되지 않으며 분석 데이터에 포함되지 않습니다.