Möchte man Wissen, ob ein restic-Repository bereits (von einem anderen System) gesperrt ist, kann man dies relativ einfach abfragen.

Mit folgenden Befehl bekommt man die “locks” angezeigt:

restic list locks --no-lock

Wichtig ist der Parameter “–no-lock” damit der Befehl an sich nicht auch noch eine Sperre erzeugt. In der Ausgabe ist dann eine Zeichenfolge wie diese enthalten:

e1f5a29eed825f59eb72827bba986677c353d94963b6c65b3f850f9511dbdf72

Wie das darauf reagieren kann, zeigt folgendes Praxisbeispiel:

Auf einen S3-kompatiblen OnPrem-Server erfolgen Nachts Backups via restic. Tagsüber soll der Prune-Vorgang laufen. Mitunter kommt es vor, das ein Backup-Job allerdings noch nicht abgeschlossen ist, daher ist es wichtig, das vor dem Prune geprüft wird, ob noch eine Sperre vorhanden ist. Relevant ist hier, das die Backup-Quellen und das System das Prune durchführt unterschiedlich sind!

Unter Windows kann man das Ganze wie folgt via Batch handhaben:

restic list locks --no-lock > lock.log
for %%A in (lock.log) do if "%%~zA" == "0" (
restic forget --keep-last 5 --prune >> prune.log 2>&1
)
del /q lock.log

Kurze Erklärung:

Der erste Befehl scheibt die Ausgabe der Prüfung auf Sperren in eine Datei.
Gibt es keine Sperre ist die Datei leer und damit 0 KB groß.
Die for-Anweisung prüft, ob die erstellte Datei leer ist, ist das der Fall, wird restic mit prune ausgeführt.


Wie hat Dir der Artikel gefallen ?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Bislang keine Stimmen erhalten.)
Loading...

Du möchtest den Blog unterstützen ?

Neben PayPal.ME gibt es noch weitere Möglichkeiten, lies hier wie du diesen Blog unterstützen kannst.