한국어

개발자 도구 · Crontab 생성기

버전 7 Unix에서 Vixie cron까지: cron의 짧은 역사

· 배경

크론 기록 소프트웨어 증거

증거 경계를 표시하는 닫힌 보관 상자 옆의 5개 필드 표현
원본 ToolAcre 벡터 일러스트레이션

cron은 여전히 매일 사용되는 가장 오래된 데몬 중 하나입니다. 이 게시물은 1970년대 Unix의 단일 시스템 전체 파일에서 사용자별 crontab을 거쳐 대부분의 Linux 시스템이 여전히 그 유래인 Paul Vixie의 재작성까지 이어집니다.

저장소는 cron의 역사적 연속성이 아닌 현재 5개 필드 모델을 보여줍니다.

ToolAcre는 현재 JavaScript에서 친숙한 5개 필드 일정을 모델링합니다. 이 사실은 특정 1970년대 데몬에서 모든 현대 호스트까지 중단 없이 연결된다는 것을 증명하지 않습니다. 실제 문법과 역사적 서술은 서로 다른 증거 제품이며, 저장소에는 전자의 깊이만 포함되어 있습니다.

소스 댓글은 날짜 필드 규칙 Vixie 스타일을 호출하지만 댓글은 Unix 릴리스의 아카이브가 아닙니다. 따라서 이 기사에서는 안정적으로 보이는 인터페이스를 cron이 왜 살아남았는지 또는 리더의 데몬이 어떤 코드베이스에서 유래했는지에 대한 주장으로 바꾸는 것을 거부합니다. 행동은 출처를 밝혀내지 않고도 정확할 수 있습니다.

버전 7 구현 세부정보에는 외부 기본 소스가 필요합니다.

통합 문서의 버전 7 섹션에는 하나의 파일과 분당 1회 읽기 주기라는 이름이 지정되었습니다. 기사 소스 간에 버전 7 소스, 수동 또는 스캔이 저장되지 않습니다. ToolAcre의 자체적인 해상도로는 이러한 과거 구현 세부 사항을 독립적으로 확인할 수 없습니다.

책임 있는 기록은 기본 매뉴얼이나 소스 트리를 인용하고 출판 날짜를 이후 기억과 구별합니다. 해당 연구가 존재할 때까지 섹션에서는 누락을 기록합니다. 독자는 사실로 제시된 출처가 없는 원본 이야기를 받지 않고도 테스트된 코드에서 5개 필드를 계속 배울 수 있습니다.

System V 계보 및 정책 기능은 여기에 입증되지 않았습니다.

사용자별 crontab, 명령 또는 정책 목록을 추가하는 System V에 대한 주장에도 마찬가지로 외부 문서가 필요합니다. 브라우저 코드에는 허용 또는 거부 목록이 없으며 사용자 크론탭 관리자도 없습니다. 이후 시스템의 유사한 용어는 기능이 처음 등장한 시기를 설정할 수 없습니다.

이 수정은 저작 계약을 따릅니다. 개요는 출처가 아니라 간략한 것입니다. 기사는 또 다른 포괄적인 문장으로 조용히 바꾸는 대신 어떤 증거가 필요할지 알려줍니다. 나중에 기본 자료를 `sources`에 추가하고 직접 읽을 때 역사적 적용 범위를 확장할 수 있습니다.

Vixie 속성은 댓글에 표시되지만 날짜와 릴리스는 출처가 아닙니다.

구현에서는 OR 동작을 설명할 때 Vixie cron이라는 이름을 지정하고 6개 필드 스케줄러 스타일을 거부합니다. 여기에는 릴리스 아카이브, 1987 인용 또는 버전 3.0 변경 로그가 포함되어 있지 않습니다. 따라서 해당 날짜와 중요 시점은 통합 문서에서 반복되지 않습니다.

코드 수준 클레임은 더 좁습니다. 두 날짜 필드가 모두 제한되면 ToolAcre는 `monthMatch || weekMatch`을 반환하고 사용자에게 경고하며 설명에 "또는"이라고 표시합니다. 그 동작은 완전히 테스트 가능합니다. 의견 이외의 귀속은 배경 섹션을 채우는 것이 아니라 연구 과제로 남아 있습니다.

하위 구현은 이 코드베이스 외부에 있습니다.

cronie, dcron, fcron, bcron 및 BusyBox와 같은 이름은 외부 프로젝트를 식별하며, 이들 중 어느 것도 여기에서 가져오거나 테스트하지 않습니다. ToolAcre는 호스트가 어떤 별칭을 사용하는지, 모든 별칭을 허용하는지 또는 시간 전환을 처리하는 방법을 말할 수 없습니다. 후손을 나열하는 것은 발생하지 않은 비교 연구를 의미합니다.

이식성이 중요한 경우 대상 구현을 직접 검사하십시오. 허용되는 필드 수, 이름 및 연산자는 운영상의 사실입니다. 계보는 차이점을 설명하는 데 도움이 될 수 있지만 대상의 현재 매뉴얼과 무해한 검증 테스트를 대체해서는 안 됩니다.

ToolAcre에 남아 있는 것: 5개의 정렬된 필드와 테스트된 문법

저장소가 설정하는 내용은 상당합니다. 필드는 분, 시간, 일, 월, 요일로 정렬됩니다. 숫자 범위는 명시적입니다. 월 및 요일 이름은 대소문자를 구분하지 않고 허용됩니다. 일요일 7은(는) 0로 정규화됩니다. 범위, 목록 및 단계는 정렬된 고유 값으로 확장됩니다.

또한 파서는 `@reboot`을(를) 제외한 7개의 명명된 별칭을 지원하고, 특정 오류를 생성하고, 불가능한 날짜 및 ORed 날짜 필드에 대해 경고하고, 영어를 렌더링하고, 선택한 구역에서 다가오는 벽시계 시간을 계산합니다. 그 현대 계약은 역사적 장식과는 별개로 정확한 문서를 기록할 가치가 있습니다.

anacron 및 systemd는 생성기 외부에 유지됩니다.

도구에 anacron 구성이나 시스템 달력 파서가 표시되지 않습니다. 이러한 시스템은 저장소 증거만으로는 진화적인 계승자나 대안으로 자리잡을 수 없습니다. 일반적으로 비교하더라도 실행 실패, 종속성 및 로깅 동작에는 별도의 소스가 필요합니다.

ToolAcre가 6개 필드와 지원되지 않는 연산자를 거부한 것은 해당 시스템에 대한 판단이 아닙니다. 그것은 단지 하나의 문법을 보호할 뿐입니다. 대안에 관한 기사는 구현 및 문서화로 시작해야 하며 crontab 표현식의 모양에서 기능을 추론해서는 안 됩니다.

요점: 행동에 대한 구현 증거와 기록에 대한 주요 소스를 사용합니다.

기술 기록에는 코드 문서와 동일한 원칙이 필요합니다. 주장은 실제로 주장하는 자료까지 추적할 수 있어야 합니다. 여기서 신뢰할 수 있는 이야기는 생성자의 현재 행동과 통합 문서의 연대기에 대한 보관 증거가 명시적으로 없다는 것입니다.

ToolAcre를 사용하여 테스트에서 다루는 5개 필드 구문을 구성하고 검사합니다. 나중에 기록을 게시하는 경우 기본 소스를 추가하고 날짜를 확인하며 관련 구현을 구별합니다. 이제 지원되지 않는 마일스톤을 생략하는 것이 독자가 감사할 수 없는 유창한 설명보다 더 정확합니다.