Symptome und Geltungsbereich
- Der nächste Termin weicht von der beabsichtigten Ortszeit ab.
- Nach einer Auszeit während des Termins läuft kein Auftrag.
Betroffene Umgebung
systemd-Kalender- oder monotone Timer; Persistent holt verpasste OnCalendar-Termine nach.
Erkennbare Meldungen (synthetische Beispiele)
systemd[1]: example.timer: Failed to parse calendar specification, ignoring: every-workdayDies erkennt ungültige Syntax, nicht jeden verspäteten Timer.
Mögliche Ursachen
Das sind mögliche Erklärungen, keine bestätigte Diagnose. Mehrere unabhängige Fehler können gleichzeitig vorliegen.
- Der Timer kann inaktiv sein, eine falsche Zeitzone oder Syntax verwenden oder eine Zufallsverzögerung enthalten.
- Persistent kann fehlen oder der Timer monoton arbeiten; ein bereits aktives Ziel wird beim Ablauf nicht erneut gestartet.
Sicher prüfen
Führe jeweils einen Befehl in der passenden Sitzung aus. Lies zuerst die Erklärung. Großgeschriebene Platzhalter brauchen deine Werte; Werkzeuge und Rechte unterscheiden sich je nach Distribution. Die Website zeigt Befehle an und führt sie niemals aus.
Prüfschritt 1
Listet Termine und Auslösungen; nutze --user für Benutzertimer.
systemctl list-timers --all --no-pagerErgebnis einordnen: Ein fehlender nächster Termin deutet auf einen inaktiven oder ausgeschöpften Timer. Eine Auslösung beweist keinen erfolgreichen Auftrag.
Prüfschritt 2
Ersetze den Timernamen; liest seine Definition ohne Auftragstart.
systemctl cat example.timerErgebnis einordnen: Vergleiche OnCalendar, Zeitzone, Persistent, AccuracySec und RandomizedDelaySec. OnBootSec behandelt verpasste Läufe anders.
Prüfschritt 3
Ersetze den Ausdruck durch den genauen OnCalendar-Wert; reine Berechnung.
systemd-analyze calendar 'Mon..Fri 18:00 Europe/Berlin'Ergebnis einordnen: Normalisierung und nächster Ablauf zeigen Syntax und Zeitzonenannahmen. Behebe abgelehnte Syntax vor der Bewertung von Verzögerungen.
Nächste Schritte nach Befund
Zeitplan und Timeraktivierung korrigieren
Wenn der Ausdruck den falschen Termin ergibt, hinterlege Zeitplan und Zeitzone. Aktiviere und starte für wiederkehrende Läufe den Timer statt nur seinen Dienst.
Vorsicht: Prüfe Sommerzeitwechsel und Laufzeit. Bewahre den alten Plan auf und vermeide überlappende manuelle Läufe.
Wiederherstellung / Rücknahme: Stelle Timerdefinition und Aktivierungszustand zurück, lade den Manager neu und prüfe den nächsten Termin.
Hat dir dieser Hinweis geholfen?
Nachholverhalten bewusst festlegen
Setze für Kalenderaufträge mit gewünschtem Nachholen Persistent=true auf diesem Timer. Ist späte Ausführung unerwünscht, lasse es aus und behandle fachlich verpasste Termine im Auftrag.
Vorsicht: Die Aktivierung kann den Auftrag mit möglicher Zufallsverzögerung auslösen. Persistent wiederholt nicht jeden verpassten Termin.
Wiederherstellung / Rücknahme: Stelle früheren Persistent-Wert und Timerzustand zurück; erfolgte Auftragswirkungen werden durch eine Timeränderung nicht rückgängig.
Hat dir dieser Hinweis geholfen?
Quellen und Prüfung
Diese Anleitung basiert auf Originalquellen von Projekten oder Distributionen und wurde am genannten Datum redaktionell geprüft. Das ist eine Quellenprüfung, kein Nachweis einer auf deiner Hardware reproduzierten Lösung. Log-Beispiele sind synthetische Testdaten. Versionsabhängige Details müssen zur installierten Ausgabe passen.
- systemd.timer — upstream manual hosted by Debian (Projekt- oder Distributionsdokumentation)
- systemd-analyze — calendar inspection (Projekt- oder Distributionsdokumentation)