Deutsch

Entwicklertools · Crontab-Generator

anacron und cron.daily: Wie geplante Jobs den Ausfall einer Maschine überleben

· Hintergrund

Cron Zuverlässigkeit Planung

Eine Zeitleiste nur für die Zukunft, beginnend nach einer Ausschaltlücke
Original-ToolAcre-Vektorillustration

cron geht davon aus, dass die Maschine immer eingeschaltet ist; Anacron nicht. In diesem Beitrag wird erklärt, wie Anacron die letzte Ausführung verfolgt, wie cron.daily-Verzeichnisse im Debian-Stil es verwenden und wie man zwischen beiden wählen kann.

Ein Schlafmaschinenszenario befindet sich außerhalb des Browsers; Die Vorschau sucht nur nach zukünftigen Kandidaten

ToolAcre kann nicht beobachten, ob ein Laptop 06:25 durchgeschlafen hat. Seine Next-Run-Funktion erhält einen Startzeitpunkt und sucht ausschließlich vorwärts, beginnend eine Minute später. Frühere übereinstimmende Minuten werden nicht zurückgegeben, da es sich bei der Funktion um eine zukünftige Vorschau und nicht um eine Verlaufs- oder Wiederherstellungs-Engine handelt.

Das macht die Liste nützlich für die Planung, schweigt aber zum Aufholen. Ein fehlender früherer Kandidat könnte kandidiert haben, übersprungen worden sein oder von einem anderen Dienst bearbeitet worden sein; Der Browser verfügt über keinen Ausführungsdatensatz. Diagnostizieren Sie das Ausfallzeitverhalten anhand des installierten Planers und nicht anhand der Abwesenheit in einer Nur-Zukunfts-Liste.

Fehlendes externes Cron-Run-Verhalten ist hier nicht festgestellt

In der Arbeitsmappe wurde behauptet, dass Cron verpasste Minuten verwirft. Zu diesem Repository gehört weder eine Daemon-Implementierung noch ein Verfügbarkeitstest, daher wird der universelle Anspruch nicht wiederholt. Es ist erwiesen, dass ToolAcre selbst keine Aufträge in die Warteschlange stellt: Es berechnet Daten im Speicher und gibt sie an die Seite zurück.

Ein Zielplaner kann eine Richtlinie für verpasste Ausführungen dokumentieren und ein Wrapper kann eine weitere hinzufügen. Erfassen Sie diese Richtlinie explizit. Derselbe `0 6 * * *`-Ausdruck kann an verschiedenen Wiederherstellungsentwürfen teilnehmen, ohne einen seiner fünf Werte zu ändern.

Anacron-Status und Verzögerungen sind nicht implementiert

In `cron.js` gibt es keine Anacron-Zeitstempeldatei, keinen Periodenzähler oder keine Startverzögerung. Der Parser kennt Kalenderfelder, während die Vorschau einen konfigurierbaren Suchhorizont kennt. Weder speichert, wann eine externe Aktion zuletzt abgeschlossen wurde.

Daher kann dieser Artikel die genauen Zustandsübergänge von Anacron anhand von Projektnachweisen nicht erklären. Wenn Nachholbedarf besteht, recherchieren und testen Sie die tatsächliche Einrichtung. ToolAcre kann weiterhin alle daneben gespeicherten zeitgenauen Cron-Zeilen erstellen, kann jedoch keine Anacron-Richtlinie validieren.

Die Anacrontab-Syntax liegt außerhalb des Fünf-Felder-Parsers

Eine Anacrontab-Zeile ist kein Cron-Ausdruck mit fünf Feldern. Die Eingabe von Periode, Verzögerung und Kennung in ToolAcre würde bei der Feldzählung oder der Wertvalidierung fehlschlagen, ohne etwas über die tatsächliche Syntax zu erfahren. Ähnliche Planungsziele erfordern keine austauschbaren Dateiformate.

Behalten Sie native Validatoren mit nativer Grammatik bei. Verwenden Sie diese Route für Minuten-bis-Wochentags-Ausdrücke und eine separate Quelle für die periodenbasierte Aufholkonfiguration. Die Übersetzung sollte die betrieblichen Anforderungen wahren und nicht lediglich eine Textform durch einen anderen Parser zwingen.

cron.daily-Verkabelung kann aus diesem Repository nicht abgeleitet werden

Verzeichnismechanismen und Übergaben zwischen Paketen fehlen in der überprüften Codebasis. Der Generator kann nicht wissen, ob `/etc/cron.daily` existiert, welcher Runner es aufruft oder was passiert, wenn ein anderes Paket installiert wird. Eine solche Verkabelung ist ein umgebungsspezifischer Beweis.

Inventarisieren Sie das Ziel, bevor Sie eine Aufgabe verschieben. Ein Verzeichnisname allein verrät weder die Uhrzeit noch das Aufholverhalten. Vergleichen Sie die beobachtete Dienstkonfiguration mit der Anforderung und behalten Sie den ToolAcre-Ausdruck nur bei, wenn der Job tatsächlich in einem kompatiblen Cron-Pfad verbleibt.

Ausgearbeitete Grenze: Vergleichen Sie zukünftige Kandidaten, ohne einen Nachholbedarf zu versprechen

Geben Sie für ein tägliches Beispiel `0 6 * * *` ein und wählen Sie die Bereitstellungszone aus. Die Vorschau listet bis zu fünf zukünftige 06:00-Wanduhrkandidaten auf. Wenn der Startzeitpunkt bereits nach dem heutigen 06:00 liegt, wird morgen das erste Ergebnis. Das ist Vorwärtssuchverhalten und kein Beweis dafür, was heute Morgen passiert ist.

Verwenden Sie die Liste, um die Kalenderabsicht und die Zonenkonvertierung zu überprüfen. Schalten Sie dann eine sichere Testumgebung über einen festgelegten Zeitraum aus und wieder ein oder unterbrechen Sie sie und befolgen Sie die Richtlinien des tatsächlichen Planers. Die beiden Experimente beantworten unterschiedliche Fragen und sollten separat dokumentiert bleiben.

Persistentes Timerverhalten ist nicht überprüft und wird weggelassen

In der Arbeitsmappe wurde eine dauerhafte Einstellung in einem anderen Dienstmanager erwähnt. Kein Unit-Parser oder Test unterstützt diese Aussage hier. Es mag zwar relevante externe Recherche sein, aber dieses Modul verwandelt sie nicht in eine Empfehlung ohne maßgebliches Quellenmaterial.

Eine versäumte Ausführungsanforderung verdient explizite Akzeptanzkriterien: ob jedes Vorkommen sofort ausgeführt, übersprungen, zusammengeführt oder beibehalten werden soll. Wählen Sie ein System, das das benötigte Ergebnis dokumentiert und verifiziert es. ToolAcre kann die als Basis verwendete Cron-Kadenz bereitstellen, mehr nicht.

Fazit: Kombinieren Sie einen Zeitplan mit einer separat überprüften Richtlinie für versäumte Läufe

Ein wiederkehrender Ausdruck ist als Zuverlässigkeitsentwurf unvollständig, wenn die Maschine möglicherweise nicht verfügbar ist. Kalenderabgleich und Nachholrichtlinie sind getrennt. ToolAcre macht Ersteres verfügbar und hat für Letzteres absichtlich keinen dauerhaften Ausführungsstatus.

Zeigen Sie eine Vorschau der Zukunft an, zeichnen Sie die Zone auf und testen Sie dann das Verhalten bei verpassten Läufen am Ziel. Wenn ein anderer Mechanismus über die Wiederherstellung verfügt, dokumentieren Sie dies neben dem Ausdruck. Vermeiden Sie es, zu sagen, dass der Generator oder die fünf Felder einen erneuten Versuch garantieren, da keiner von beiden erkennen kann, dass ein Lauf verpasst wurde.