Verhindern Sie Konflikte beim Aufräumen, indem Sie jedem Repository einen Wartungsverantwortlichen zuweisen und ein Zeitfenster festlegen, in dem kein Backup-Client neue Arbeiten starten darf.
Bei einem gemeinsam genutzten Home-Server-Repository beginnt der Fehler meist früher als mit der Sperrfehlermeldung: Mehrere Hosts verwalten Wartungszeitpläne, ein Backup läuft länger als erwartet, und der Bereinigungsvorgang startet ohne repositoryweite Sperre. Kehren Sie diesen Ablauf um. Zentralisieren Sie die Bereinigung, reservieren Sie ausreichend Zeit, serialisieren Sie Jobs außerhalb von Restic und richten Sie Alarme für übersprungene oder überfällige Ausführungen ein. Wenn bereits ein Konflikt besteht, stoppen Sie neue Jobs und verwenden Sie den kürzesten Wiederherstellungsweg, anstatt die Sperrmechanismen zu schwächen.
Weisen Sie jedem Repository einen Wartungsverantwortlichen zu
Durchsuchen Sie jeden Client und jeden repositoryseitigen Dienst nach Restic-Wartungsbefehlen. Dokumentieren Sie, wer für forget, prune, check, unlock und die Alarme verantwortlich ist. Deaktivieren Sie doppelte Bereinigungszeitpläne und behalten Sie eine zentrale Steuerung bei, die über die erforderlichen Repository-Zugangsdaten und die nötige Übersicht über alle Clients verfügt.
Mehrere Backups können rund um ein Repository koordiniert werden, aber das Entfernen aller Sperren vor der Bereinigung hebelt die Sicherheitsgrenze aus und kann genau die unsichere Überschneidung erzeugen, die der Zeitplan eigentlich verhindern sollte.
Die Prüfung der Zuständigkeit ist erfolgreich, wenn nur ein Host die repositoryweite Wartung starten kann und jeder Backup-Client weiß, wohin Fehler gemeldet werden. Wenn ein Gerät oder Backup-Wrapper versteckte Wartungsaufgaben starten kann, deaktivieren Sie dessen automatische Option oder binden Sie ihn vor dem Fortfahren in dieselbe Steuerung ein.
Reservieren Sie ein Bereinigungsfenster, das länger als der längste normale Lauf ist
Werten Sie aktuelle Protokolle aus, um das längste normale Backup, die längste kürzliche Bereinigung, Verzögerungen beim Aufwachen der Clients und den Rückstand durch Wiederholungsversuche zu ermitteln. Planen Sie die Bereinigung nach dem spätestmöglichen erwarteten Abschluss des Backups und lassen Sie Zeit für deren eigene längste normale Dauer. Wählen Sie nicht einfach Mitternacht, nur weil es auf einem Host ruhig aussieht.
Ein Aufbewahrungsplan sollte Snapshots außerdem nach Host oder Tag eingrenzen, damit die Aufbewahrung über mehrere Hosts nicht die falschen Snapshots auswählt, während das Repository einem einzigen Wartungsverantwortlichen untersteht.
Wenn Backups häufig über die vorgeschlagene Grenze hinauslaufen, verschieben Sie die Bereinigung, anstatt das Backup-Fenster zu verkürzen. Wenn die Dauer der Bereinigung über die verfügbare Lücke hinauswächst, reduzieren Sie die Häufigkeit der physischen Rückgewinnung, untersuchen Sie den Durchsatz des Backends oder verwenden Sie ein längeres Zeitfenster. Die Vermeidung von Konflikten scheitert, wenn der Zeitplan davon abhängt, dass jeder Job stets seine durchschnittliche Laufzeit einhält.
Setzen Sie gegenseitigen Ausschluss und eine sichtbare Wiederholungsrichtlinie durch
Verwenden Sie eine externe Serialisierungsmethode, die jeder lokale Job berücksichtigt: die Reihenfolge von systemd-Units, einen gemeinsamen Sperr-Wrapper oder eine vom Wartungshost gesteuerte Warteschlange. Der Wrapper sollte den später gestarteten Job ablehnen oder verzögern, die eigenen Sperren von Restic beibehalten und einen eindeutigen Status schreiben, auf den das Monitoring reagieren kann.
Mit einem systemd-basierten Restic-Zeitplan können wiederkehrende Backup- und Bereinigungsdienste getrennt werden, sodass Reihenfolge, Exit-Status und Protokolle sichtbar bleiben.
Legen Sie ein begrenztes Wiederholungsintervall und eine maximale Verzögerung fest. Ein durch die Wartung blockiertes Backup sollte nach dem Zeitfenster erneut versuchen zu starten und nicht bis zum nächsten Tag verschwinden; eine durch ein verspätetes Backup blockierte Bereinigung sollte einen Alarm auslösen und in das nächste genehmigte Zeitfenster verschoben werden. Lassen Sie niemals eine automatische erzwungene Aufhebung der Sperre als Wiederholungsaktion zu.
Testen Sie die Vermeidungsrichtlinie und halten Sie einen minimalen Rückfallplan bereit
Testen Sie beide Reihenfolgen in einem nicht produktiven Repository oder mit einem Beispieldatensatz: Starten Sie zuerst ein Backup und fordern Sie anschließend eine Bereinigung an; starten Sie danach zuerst die Bereinigung und fordern Sie anschließend ein Backup an. In beiden Fällen sollte ein Job sichtbar warten oder beendet werden, die Steuerung sollte gemäß der konfigurierten Richtlinie einen neuen Versuch starten, und keine Sperre darf unter einem aktiven Prozess entfernt werden.
Prüfen Sie nach der Einführung die Protokolle des nächsten normalen Backups sowie von forget und prune. Wenn sich das Repository nach der Wartung im Nur-Lese-Modus befindet, verwenden Sie den separaten Wiederherstellungsweg für eine unterbrochene Bereinigung, anstatt die Vermeidungssperre zu lockern.
Die Richtlinie ist erfolgreich, wenn zwei Zyklen ohne Überschneidung abgeschlossen werden, verzögerte Jobs sichtbar erneut versuchen zu starten, bei verpassten Zeitfenstern Alarme ausgelöst werden und eine Testwiederherstellung weiterhin gültig ist. Wenn sie fehlschlägt, deaktivieren Sie zuerst die automatische Bereinigung und lassen Sie normale Backups mit der üblichen Sperrung weiterlaufen. Eskalieren Sie den Fall, wenn kein Wartungsfenster für die gemessene Arbeitslast ausreicht oder das Backend die Bereinigung nicht zuverlässig abschließen kann.
Support & Tipps
Mehr zum Lesen

So planen Sie Restic-Aufgaben für Backup, Forget und Prune ohne Sperrkonflikte
Ein vollständiger Restic-Zeitplan für mehrere Hosts, der häufige Backups, eine gezielte Aufbewahrung, physisches Pruning, Prüfungen, Wiederholungsversuche und die Validierung von Wiederherstellungen voneinander trennt.

So entfernst du eine veraltete Restic-Sperre, ohne eine aktive Sicherung zu unterbrechen
Ein möglichst wenig invasiver Restic-Entsperr-Workflow, der aktive Backups schützt, nur veraltete Zustände entfernt und die Wiederherstellung im Rahmen des normalen Zeitplans bestätigt.

Warum stockt ein Restic-Backup, wenn ein anderer Host mit dem Bereinigen beginnt?
Eine gezielte Diagnose der Sperrkonflikte beim Restic-Pruning, einschließlich der Prüfung des Sperrenbesitzers, der sicheren Wiederherstellung, des erneuten Testens des Auslöserstatus und der Abbruchbedingungen.

