Verwendet man restic für die Datensicherung und räumt regelmäßig mit “forget” und “–prune” auf, kann es dennoch passieren, das alte Daten zurückbleiben.
So geschehen bei einer Installation als sich die Backup-Quelle geändert hat. Folgender Befehl löschte zwar fleißig alte Snapshots, allerdings nur die mit dem aktuellen Pfad:
restic forget --keep-last 7 --prune
Schaute man mit
restic snapshots
fanden sich jede Menge teils sehr alte Snapshots. Anbei ein Beispiel (Auszug):
ID Time Host Reasons Paths -------------------------------------------------------- 01dc5739 2023-05-16 06:14:53 hv02 last snapshot D:\Daten 3c0f9753 2024-05-17 05:01:35 hv02 last snapshot E:\Daten ...
Die erste Zeile zeigt einen alten Snapshot. Die Daten sind in beiden Pfaden die Gleichen, allerdings wurde irgendwann der Laufwerksbuchstabe geändert und obwohl der obige Befehl täglich ausgeführt wird blieben dieser und andere alte Snapshots zurück.
Die alten Snapshots wurden dann mit
restic forget <ID>
entfernt. Bei einem weiteren “prune”-Durchlauf wurden dann gut 1 TB an Speicherplatz auf dem Backup-Ziel bzw. im Repository wieder frei.
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Hallo Andy,
ist das nicht relativ klar, dass das so passiert. Schließlich verwendest du “forget” mit einer policy und dann werden alle snapshots nach “host name” und “paths” gruppiert. Wenn man das nicht will muss man beim forget-command “–group-by ”” angeben (LEER).
Siehe auch hier: https://restic.readthedocs.io/en/stable/060_forget.html#removing-snapshots-according-to-a-policy
Dort steht:
When forget is run with a policy, restic first loads the list of all snapshots and groups them by their host name and paths. The grouping options can be set with –group-by, e.g. using –group-by paths,tags to instead group snapshots by paths and tags. The policy is then applied to each group of snapshots individually. This is a safety feature to prevent accidental removal of unrelated backup sets. To disable grouping and apply the policy to all snapshots regardless of their host, paths and tags, use –group-by ” (that is, an empty value to –group-by). Note that one would normally set the –group-by option for the backup command to the same value.