한국어

개발자 도구 · Crontab 생성기

Cron 표현식 예: 매시간, 야간, 평일, 매월 1일

· 작동 방식

크론 예 일정 예약

시계 및 달력 표시 옆에 배열된 여러 개의 5개 필드 일정 카드
원본 ToolAcre 벡터 일러스트레이션

10개의 일정은 대부분의 실제 크론탭을 다룹니다. 이 게시물은 각각에 대한 표현을 제공하고, 필드를 설명하고, 사람들이 거의 항상 틀리는 부분을 지적합니다.

'매월 1일 06:00'이 필요하며 검색 결과가 일치하지 않습니다. 추론이 포함된 검증된 표현 세트입니다.

"매월 1일 06:00"에 대한 복사된 답변은 모든 위치가 정당화될 수 있는 경우에만 유용합니다. 5개 필드 순서에서 `0 6 1 * *`는 0분, 6시, 매월 1일, 매월 및 평일을 의미합니다. 필드를 읽으면 매력적인 예제가 설명할 수 없는 프로덕션 종속성이 되는 것을 방지할 수 있습니다.

여기에 있는 예는 ToolAcre의 파서 및 테스트에서 실행되는 문법 내에 있습니다. 이는 완전한 작업 정의가 아닌 일정 조각입니다. 브라우저는 이를 설명하고 선택한 영역에서 향후 벽시계 후보를 표시할 수 있지만 결국 이를 사용할 명령, 권한 또는 호스트는 알지 못합니다.

매 분, 매 5 분, 매 시간 — * * * * *, */5 * * * * 및 0 * * * * 및 선행 0이 중요한 이유

`* * * * *`는 모든 시간과 날짜의 분 값을 선택합니다. `*/5 * * * *`은 55를 통해 분을 0, 5, 10 등으로 좁힙니다. `0 * * * *`는 0분만 선택하여 매 시간 상단에 하나의 후보를 생성합니다. 따라서 앞에 오는 0은 60분 위치와 1 사이의 차이입니다.

세 가지 형식은 모두 사전 설정 또는 테스트된 구문으로 나타납니다. 단계는 분 필드의 하한에서 확장되는 반면 와일드카드는 0에서 59까지 허용되는 모든 값을 확장합니다. 지금 이후의 실행을 엄격하게 검사하려면 미리보기를 사용하세요. 단순히 시간을 열거할 수 있다는 이유만으로 도구가 반복 프로세스를 시작했다고 추론하지 마십시오.

매일 한 번에, 하루에 두 번 — 30 2 * * * 및 0 6,18 * * *

매일 02:30은 `30 2 * * *`: 분 30 및 시간 2이며 무제한 달력 필드가 있습니다. 06:00 및 18:00에서 매일 두 번은 `0 6,18 * * *`입니다. 쉼표는 두 시간 값을 결합하고 분은 고정된 상태로 유지됩니다. 두 줄로 중복되는 것보다 시간 목록이 명시적일 때 둘 다 검토하기가 더 쉽습니다.

선택한 시간대는 동일한 벽시계 필드에 표시되는 순간을 변경합니다. ToolAcre는 각 후보를 해당 구역의 현지 벽 시간으로 계산하고 정방향 시계 변경 중에 존재하지 않는 현지 시간을 생략합니다. 해당 미리보기 동작은 이 도구에 속합니다. 이 기사에서는 이를 모든 데몬에 대한 약속으로 일반화하지 않습니다.

주중 및 주말 — 0 8 * * 1-5 및 0 10 * * 0,6(일요일 번호 매기기 주의사항 포함)

주중 08:00은 `0 8 * * 1-5`이고, 주말 오전 10:00은 `0 10 * * 0,6`입니다. 이 파서는 일요일을 0 또는 7로 받아들이고 둘 다 동일한 값으로 정규화합니다. 이름도 지원되므로 확장된 요일을 변경하지 않고도 `MON-FRI`이 `1-5`을(를) 대체할 수 있습니다.

OR 조합을 원하지 않는 한 날짜를 동시에 설정하지 마십시오. `0 8 1 * 1-5`는 첫날에만 평일을 의미하지는 않습니다. 여기에는 매월 1일과 매주 평일이 포함됩니다. 생성기는 두 날짜 필드가 모두 제한될 때마다 경고하고 결과 문장에 "or"를 배치합니다.

월별, 분기별 및 연간 — 0 6 1 * *, 0 6 1 1,4,7,10 * 및 0 0 1 1 *

매월 06:00의 첫 번째 날짜는 `0 6 1 * *`입니다. 분기별 1월, 4월, 7월, 10월 첫째 날은 `0 6 1 1,4,7,10 *`입니다. 1월 1에 실행되는 연간 자정은 `0 0 1 1 *`이며, 이는 지원되는 `@yearly` 및 `@annually` 별칭에서 사용되는 확장이기도 합니다.

이 예에서는 선택한 모든 달에 존재하는 날짜를 사용합니다. ToolAcre는 불가능한 조합을 구문적으로 합법적인 것으로 허용하지만 예를 들어 30일이 2월과만 쌍을 이루는 경우 경고합니다. 2월 29은 윤년 경고를 받습니다. 따라서 달력 유효성은 하나의 일반적인 잘못된 메시지 뒤에 숨겨져 있는 것이 아니라 필드 문법과 별도로 표시됩니다.

지원되는 5개 필드 연산자로 마지막 날 일정을 표현할 수 없습니다.

지원되는 문법에는 마지막 날짜 연산자가 없습니다. `L`은(는) 번역되지 않고 거부되었으며, 31일은 30일 또는 2월이 있는 달을 포함하지 못합니다. 통합 문서에서는 명령측 날짜 테스트를 제안했지만 이 저장소는 명령을 실행하거나 확인하지 않으므로 문서에서는 해당 해결 방법을 지원되는 생성기 기능으로 제시하지 않습니다.

"매월 말일"을 이 표현 언어를 초과하는 요구 사항으로 처리합니다. 실제 대상에 의해 문서화된 스케줄러 또는 명령 전략을 선택하고 그곳에서 테스트하십시오. ToolAcre는 해당 결정과 관련된 일반적인 5개 필드에 여전히 유용하지만 유효성 검사 성공은 해당 파서가 구현하지 않는 연산자를 제조할 수 없습니다.

초 필드와 외국 연산자는 이 파서에서 거부됩니다.

이 경로의 고전적인 표현에는 초 또는 연도 위치가 없습니다. 초 중심 스케줄러 스타일에 대한 지침으로 6개 필드가 거부됩니다. 또한 파서는 값 판독기가 숫자, 지원되는 세 글자 이름, 범위, 쉼표, 슬래시 및 와일드카드만 허용하기 때문에 `?`, `#`, `L` 및 `W`을 거부합니다.

따라서 1분 미만 요구사항은 여기에 표시할 수 없습니다. 또한 다른 스케줄러의 표현식이 단순히 유사해 보인다는 이유만으로 동일하다고 선언할 수 없습니다. 위치를 계산하고, 연산자 지원을 확인하고, 대상 문법으로 의도한 세트를 다시 빌드하세요. 생략된 의미 체계는 우연한 근사치가 아니라 명시적인 간격으로 유지되어야 합니다.

요약: 이 10개 항목을 빌드하고 Crontab 생성기를 사용하여 하나를 조정하고 결과를 다시 읽습니다.

각 토큰에 이유가 있으면 일반적인 일정이 더 안전해집니다. 0은 경계를 고정하고, 쉼표는 대안을 지정하고, 범위에는 양쪽 끝이 포함되고, 별표는 필드를 엽니다. 사전 설정은 매분, 15분, 시간별, 일일, 주중 근무 시간, 일요일, 월별 및 연간 형식을 포함한 여러 시작점을 제공합니다.

가장 가까운 사전 설정을 적용하고 생성된 문장을 읽고 기계의 의도된 영역에서 다음 5번을 스캔합니다. 해당 시퀀스는 브라우저 외부에 배포를 유지하면서 표현 의도를 확인합니다. 좋은 예는 단지 복사할 수 있는 것이 아닙니다. 다른 검토자가 모든 필드가 존재하는 이유를 재구성할 수 있을 만큼 작습니다.