Entwicklertools · Crontab-Generator
Von Version 7 Unix bis Vixie cron: eine kurze Geschichte von cron
· Hintergrund
Cron Geschichte Software-Beweise
cron ist einer der ältesten Daemons, die noch täglich im Einsatz sind. Dieser Beitrag folgt der Geschichte von einer einzigen systemweiten Datei im Unix der 1970er Jahre über benutzerspezifische Crontabs bis hin zu Paul Vixies Neufassung, von der die meisten Linux-Systeme immer noch abstammen.
Das Repository zeigt ein aktuelles Fünf-Felder-Modell, nicht die historische Kontinuität von Cron
ToolAcre modelliert einen bekannten Zeitplan mit fünf Feldern im aktuellen JavaScript. Diese Tatsache beweist nicht, dass es eine ununterbrochene Linie von einem bestimmten Daemon aus den 1970er Jahren zu jedem modernen Host gibt. Eine Arbeitsgrammatik und eine historische Erzählung sind unterschiedliche Beweisprodukte, und das Archiv enthält nur erstere ausführlich.
Die Quellkommentare rufen die Tagesfeldregel im Vixie-Stil auf, aber Kommentare sind kein Archiv von Unix-Releases. Dieser Artikel weigert sich daher, eine stabil aussehende Schnittstelle in eine Behauptung darüber umzuwandeln, warum Cron überlebt hat oder von welcher Codebasis der Daemon eines Lesers abstammt. Verhalten kann ohne erfundene Herkunft präzise sein.
Version 7 Implementierungsdetails erfordern externe Primärquellen
Der Abschnitt Version 7 der Arbeitsmappe benannte eine Datei und einen Lesezyklus einmal pro Minute. Unter den Artikelquellen ist keine Quelle, kein Handbuch oder kein Scan der Version 7 gespeichert. Die eigene Minutenauflösung von ToolAcre kann diese historischen Implementierungsdetails nicht unabhängig überprüfen.
Eine verantwortungsvolle Historie würde ein primäres Handbuch oder einen Quellenbaum zitieren und das Veröffentlichungsdatum von einer späteren Erinnerung unterscheiden. Bis diese Forschung vorliegt, wird in dem Abschnitt die Auslassung erfasst. Leser können die fünf Felder immer noch aus getestetem Code lernen, ohne eine unbegründete Ursprungsgeschichte zu erhalten, die als Tatsache dargestellt wird.
System V-Abstammungs- und Richtlinienmerkmale werden hier nicht nachgewiesen
Behauptungen darüber, dass System V benutzerspezifische Crontabs, Befehle oder Richtlinienlisten hinzufügt, erfordern ebenfalls eine externe Dokumentation. Der Browsercode verfügt über keine Zulassungs- oder Ablehnungsliste und keinen Benutzer-Crontab-Manager. Eine ähnliche Terminologie in späteren Systemen kann nicht feststellen, wann eine Funktion zum ersten Mal erschien.
Diese Korrektur folgt dem Autorenvertrag: Eine Gliederung ist eine Zusammenfassung, keine Quelle. Anstatt stillschweigend einen weiteren Pauschalsatz einzubauen, sagt der Artikel, welche Beweise nötig wären. Die historische Abdeckung kann später erweitert werden, wenn Primärmaterial zu `sources` hinzugefügt und direkt gelesen wird.
Vixie-Namensnennung erscheint in Kommentaren, Daten und Veröffentlichungen werden jedoch nicht angegeben
Die Implementierung nennt Vixie cron, wenn sie das OR-Verhalten erklärt, und lehnt Sechs-Felder-Scheduler-Stile ab. Es enthält keine Release-Archive, ein 1987-Zitat oder ein Versions-3.0-Änderungsprotokoll. Diese Daten und Meilensteine werden daher nicht aus der Arbeitsmappe übernommen.
Der Anspruch auf Codeebene ist enger gefasst: Wenn beide Tagesfelder eingeschränkt sind, gibt ToolAcre `monthMatch || weekMatch` zurück, warnt den Benutzer und sagt „oder“ in seiner Beschreibung. Dieses Verhalten ist vollständig testbar. Die Zuordnung über den Kommentar hinaus bleibt eine Forschungsaufgabe und kein Füllmaterial für einen Hintergrundabschnitt.
Nachkommende Implementierungen liegen außerhalb dieser Codebasis
Namen wie cronie, dcron, fcron, bcron und BusyBox kennzeichnen externe Projekte, von denen hier keines importiert oder getestet wird. ToolAcre kann nicht sagen, welches ein Host verwendet, ob er jeden Alias akzeptiert oder wie er mit Zeitübergängen umgeht. Die Auflistung der Nachkommen würde eine vergleichende Forschung bedeuten, die nicht stattgefunden hat.
Wenn Portabilität wichtig ist, überprüfen Sie die Zielimplementierung direkt. Die akzeptierte Feldanzahl, Namen und Operatoren sind betriebliche Fakten. Eine Genealogie kann dabei helfen, Unterschiede zu erklären, sie sollte jedoch niemals das aktuelle Handbuch der Zielperson und einen harmlosen Validierungstest ersetzen.
Was in ToolAcre geblieben ist: fünf geordnete Felder und eine getestete Grammatik
Was das Repository erstellt, ist erheblich. Die Felder sind nach Minute, Stunde, Tag des Monats, Monat und Wochentag geordnet. Numerische Bereiche sind explizit; Monats- und Wochentagsnamen werden ohne Berücksichtigung der Groß- und Kleinschreibung akzeptiert; Sonntag 7 normalisiert sich zu 0; Bereiche, Listen und Schritte werden zu sortierten Einzelwerten erweitert.
Der Parser unterstützt außerdem sieben benannte Aliase außer `@reboot`, erzeugt spezifische Fehler, warnt vor unmöglichen Datumsangaben und OR-verknüpften Tagesfeldern, gibt Englisch wieder und berechnet die bevorstehenden Uhrzeiten in einer ausgewählten Zone. Dieser zeitgenössische Vertrag verdient eine genaue Dokumentation unabhängig von historischen Ornamenten.
anacron und systemd bleiben außerhalb des Generators
Im Tool wird keine Anacron-Konfiguration oder kein systemd-Kalenderparser angezeigt. Diese Systeme können nicht allein aufgrund von Endlagerbeweisen als evolutionäre Nachfolger oder Alternativen positioniert werden. Selbst wenn man sie allgemein vergleicht, sind für ihr Fehllauf-, Abhängigkeits- und Protokollierungsverhalten separate Quellen erforderlich.
Die Ablehnung von sechs Feldern und nicht unterstützten Operatoren durch ToolAcre ist kein Urteil über diese Systeme. Es schützt lediglich eine Grammatik. Artikel über Alternativen sollten mit deren Implementierung und Dokumentation beginnen und nicht auf Merkmale aus der Form eines Crontab-Ausdrucks schließen.
Fazit: Nutzen Sie Implementierungsnachweise für das Verhalten und Primärquellen für den Verlauf
Die technische Geschichte erfordert die gleiche Disziplin wie die Codedokumentation: Behauptungen sollten auf Material zurückgeführt werden können, das sie tatsächlich enthält. Hier ist die vertrauenswürdige Geschichte das gegenwärtige Verhalten des Generators und das ausdrückliche Fehlen archivierter Beweise für die Chronologie des Arbeitsbuchs.
Verwenden Sie ToolAcre, um die von den Tests abgedeckte Fünf-Felder-Syntax zu erstellen und zu überprüfen. Wenn Sie einen Verlauf später veröffentlichen, fügen Sie Primärquellen hinzu, überprüfen Sie Daten und unterscheiden Sie verwandte Implementierungen. Das Weglassen eines nicht unterstützten Meilensteins ist jetzt genauer als eine fließende Erzählung, die der Leser nicht nachvollziehen kann.