Wenn rdiff-backup mal streikt…

Rdiff-backup ist meine favorisierte Backuplösung. Sie hat einfach zu viele nette Feutures, allen vor ran der geringe Speicherplatzverbrauch plus der Datei-Historie. Leider hat rdiff-backup ein Problem mit seiner Stabilität.  Wenn es mal zu einem inkonsistenten Backup kommt. steht man ziemlich mit runter gelassenen Hosen da. Ich selbst leide an einem solchen Problem. Um zu ermitteln ob mit einem Backup alles in Ordnung ist muss man folgenden Befehl ausführen:

rdiff-backup --verify [BackupDir]

Liefert dieser Befehl keinen Output kann man es ruhig angehen lassen. Gibt es jedoch Meldungen wie diese hier, sollte man auf jeden Fall prüfen was mit dem Backup nicht stimmt.

Warning: Computed SHA1 digest of

doesn't match recorded digest of

Your backup repository may be corrupted!

Wenn man dem nicht traut kann man mittels folgenden Befehl einen kompletten vergleiche Quelle<>Backup anstoßen:

rdiff-backup --compare-file [SourceDir] [BackupDir]

Dieser Befehl liefert die Files, bei dehnen sich Quelle und Backup unterscheiden unabhängig davon ob sich laut Change-Time irgendwas an der Datei geändert haben sollte.
Zusätzlich gibt es noch:

rdiff-backup --compare-hash [SourceDir] [BackupDir]

Dieser macht das gleiche wie der vorherige Befehl, nur vergleicht er nur die gespeicherten Hashes mit den neu genierten der Qulle. Das hilft nichts, wenn sich die Dateien im Backup geändert haben (z.B. korruptes File-System).
Kurz wenn der „compare-file‘ Befehl sagt „alles ok“, dann kann man dem trauen. Er ist jedoch auch der aufwändigste. Jeh nach Datenmenge kann das 24 Stunden und mehr brauchen. Leider hat der Befehl auch noch einen anderen Hinkfuß. Für die Dauer der Prüfung darf die Quelle nicht geändert werden, da es sonst zu unnützen Flaschmeldungen kommt.

Hat man einmal eine Datei (oder mehrere) ermittelt die defekt im Backup gespeichert vorliegt muss man diese im Backup aktualisieren. Leider bietet rdiff-backup dafür keinen Mechanismus. So das man händisch bei allen dateien  den „mdoified“-Zeitstempel auf einen Wert nach dem letzt Backup setzt muss. Also einfach ein touch auf alle Quelldateien bei den das Backup nicht in Ordnung ist, anschließend rdiff-backup nochmal laufen lassen.