한국어

개발자 도구 · Crontab 생성기

cron에 시간대 필드가 없는 이유: 현지 시간, CRON_TZ 및 UTC 컨테이너

· 배경

크론 시간대 일정 예약

UTC, 도쿄 및 뉴욕의 시계를 가리키는 5개 필드로 구성된 표현식 1개
원본 ToolAcre 벡터 일러스트레이션

cron 표현식에는 시간대가 없으므로 동일한 5개 필드는 호스트마다 다른 순간을 의미합니다. 이 게시물에서는 cron이 사용하는 시계, CRON_TZ 확장 및 컨테이너가 응답을 변경하는 이유를 설명합니다.

선택한 영역이 변경되면 동일한 필드가 다른 미리보기 순간을 생성합니다.

`0 9 * * *`에는 시간이 포함되어 있지만 위치는 없습니다. ToolAcre에서 UTC 또는 Asia/Tokyo을 선택하면 5개 필드가 변경되지 않고 각 09:00 벽시계 후보가 나타내는 순간이 변경됩니다. 따라서 두 환경이 서로 다른 영역에서 동일한 로컬 레이블을 해석하는 경우 보고서는 몇 시간 간격으로 나타날 수 있습니다.

패널은 "다음 실행 항목 표시" 선택기를 사용하여 이 종속성을 명시적으로 만듭니다. 일정을 검토할 때 의도한 기계의 영역을 사용한 다음 해당 가정을 표현식 옆에 기록하십시오. 선택은 브라우저 미리보기에만 영향을 미칩니다. 복사된 cron 텍스트에는 포함되지 않습니다.

표현식에 영역이 없습니다. 외부 데몬 시계 선택은 여기서 구성되지 않습니다

정확히 5개의 필드 사양이 있으며 시간대라는 이름은 없습니다. `nextRuns`는 영역을 별도의 옵션으로 허용하고 기본적으로 JavaScript가 보는 호스트 환경을 사용합니다. 이러한 분리는 영역 컨텍스트가 ToolAcre 모델의 표현 외부에 있음을 증명합니다.

통합 문서는 모든 데몬이 어떤 시계를 읽는지 주장했습니다. 이 저장소는 데몬을 구성하거나 검사할 수 없으므로 보편적인 동작을 설정하지 않습니다. 미리보기 영역을 대상의 문서화된 해석과 일치시키고 설치된 스케줄러를 독립적으로 확인하는 것이 좋습니다.

CRON_TZ 지원은 이 파서 외부에 있으며 청구되지 않습니다.

`CRON_TZ`은(는) 구문 분석되지 않습니다. 5개 필드가 아니고 지시어를 저장하는 필드별 컨트롤이 없기 때문에 표현식 상자에 입력하면 실패합니다. 한 구현에서는 이를 지원하지만 다른 구현에서는 여기에 없는 소스가 필요하지 않다는 통합 문서의 주장입니다.

대상이 시간대 지시문을 문서화하는 경우 거기에서 이를 구성하고 테스트하십시오. ToolAcre가 표현식을 복사할 때 지시문을 유지할 것이라고 기대하지 마십시오. 대상별 구성이 검토되고 배포될 때까지 일정에 인접한 영역 메타데이터를 유지합니다.

TZ 환경 의미 체계가 모델링되지 않았습니다.

`TZ` 할당은 동일하게 범위를 벗어납니다. 브라우저는 형식 지정 및 변환을 위해 crontab 파일 내부의 환경 줄이 아닌 명시적인 `timeZone` 옵션을 사용합니다. 할당이 일정 평가, 명령 출력을 변경하는지 또는 다른 시스템에서 둘 다 변경하는지 알 수 없습니다.

이 수정은 미묘하지만 비용이 많이 드는 가정을 방지합니다. 유사한 이름이 동일한 역할을 의미하지는 않습니다. 스케줄러 영역 선택과 프로세스 환경을 별도의 질문으로 처리하고 표현식 생성기가 아닌 대상 구현에서 둘 다 답변합니다.

컨테이너 및 클라우드 기본값에는 대상 증거가 필요합니다.

컨테이너 및 클라우드 이미지는 경로로 검사되지 않습니다. Docker 소켓, 호스트 시계 또는 메타데이터 서비스는 쿼리되지 않습니다. 기본적으로 UTC로 설정된다는 주장은 특정 배포에서는 사실일 수 있지만 독자의 브라우저에서 실행되는 `Intl.DateTimeFormat`에서는 일반화할 수 없습니다.

문서화된 도구 및 구성을 통해 실제 대상 영역을 캡처합니다. 그런 다음 사용 가능한 경우 ToolAcre에서 동일한 IANA 이름을 선택합니다. 브라우저 영역 목록은 엔진이 알고 있는 내용을 반영합니다. 이는 대상에 동일한 구역 데이터나 설정이 포함되어 있음을 증명하지 않습니다.

작업 예: 계절별 변환을 하드 코딩하지 않고 선택한 두 영역에서 09:00 미리 보기

`0 9 * * *`을 고정하고 하나의 결과를 UTC로 미리 본 다음 미국에서 미리 봅니다./New_York. 각 목록에는 09:00가 벽 시간으로 표시되지만 신기원 순간은 적용 가능한 구역 오프셋에 따라 다릅니다. 지역 오프셋은 날짜에 따라 변경될 수 있으므로 하나의 영구 시간 변환을 게시하지 마세요.

테스트는 UTC 및 도쿄 자정과 앞으로의 변화에 ​​따른 런던 일일 작업을 통해 이 원칙을 보여줍니다. 검토 중인 날짜에 대한 실제 후보를 사용합니다. 배포가 일정을 고정된 UTC 시간으로 변환하는 경우 하나의 값이 로컬 09:00을 영원히 유지함을 암시하는 대신 계절 제한을 문서화하세요.

DST 후보 처리는 데몬 보장이 아닌 ToolAcre 미리보기 동작입니다.

ToolAcre는 후보를 로컬 달력 구성 요소로 구축하고 브라우저 영역 데이터를 통해 변환합니다. 존재하지 않는 봄이 다가오는 시간은 생략되었으며, 일반 일일 시간은 테스트된 전환 전반에 걸쳐 동일한 현지 시간으로 유지됩니다. 이는 미리보기 구현 사실입니다.

데몬이나 클라우드 스케줄러에 대한 실행을 보장하지 않습니다. 작업이 실행될 전환 정책을 확인합니다. 미리보기는 위험을 드러내고 예상되는 순간을 제공할 수 있으며, 배포된 스케줄러는 작업이 시작되는지에 대한 권위 있는 관찰을 제공합니다.

요점: 일정은 해당 구역으로만 완성됩니다. 생성기에 필드를 구축한 다음 그 옆에 시간대를 기록합니다.

5개 필드가 구문적으로 완전하더라도 구역 컨텍스트가 없으면 일람표가 운영상 불완전합니다. ToolAcre는 별도의 선택기에 영역을 유지하고 결과 벽시계 목록을 표시하여 해당 사실을 나타냅니다. 복사된 표현식만으로는 선택 사항을 전달할 수 없습니다.

표현식과 구역을 함께 기록하고 대상 구성을 확인하고 오프셋 변경 근처의 후보를 다시 방문하십시오. 생성기는 일정을 생성하고 설명합니다. 서버 시계를 설정하거나 시간대 지시문을 작성하거나 실행을 약속하지 않습니다. 이러한 경계는 제어를 과장하지 않고도 미리보기를 유용하게 유지합니다.