Kurz gesagt: Halte beim Schreiben des Backups einen Hash jeder Datei fest und lass die Prüfung später erneut gegen das Backup laufen.
Wenn die Hashes noch übereinstimmen, sind die Bytes noch da. Nichts anderes beweist das.
Vier Dinge gehen schief, und keins kündigt sich an:
Alle vier sehen von außen gleich aus: ein Ordner voller Dateien mit plausiblen Namen und Daten.
Halte beim Schreiben des Backups fest, was du geschrieben hast:
find /Volumes/Backup/Documents -type f -exec shasum -a 256 {} + > ~/backup.sha256
Frag später, ob das Backup noch zu diesen Aufzeichnungen passt:
shasum -a 256 -c ~/backup.sha256
Jede Zeile kommt mit OK oder FAILED zurück. Eine Datei, die ganz verschwunden ist, wird als nicht lesbar gemeldet, und genau so soll es sein: Eine fehlende Datei ist ein Fehler, kein fehlender Beweis.
Bewahr die Hash-Datei an einem Ort auf, der nicht die Backup-Festplatte ist. Eine Aufzeichnung, die neben dem liegt, was sie beschreibt, stirbt mit ihm.
Eine andere Frage, und die, bei der Leute erwischt werden. Die neueste Datei im Backup sagt dir, wann der Auftrag zuletzt erfolgreich war:
find /Volumes/Backup -type f -newermt '-7 days' | head
Keine Ausgabe heißt, seit einer Woche wurde nichts geschrieben. Wenn du dich auf Time Machine verlässt, frag es direkt:
tmutil latestbackup
Hashes beweisen, dass die Bytes überlebt haben. Sie beweisen nicht, dass du eine Datei wieder herausbekommst, denn das hängt auch vom Tool, vom Index, vom Schlüssel und davon ab, ob du noch weißt, wie man alle drei benutzt. Ein- oder zweimal im Jahr ein paar Dateien in einen Testordner wiederherstellen und öffnen.
Nimm eine Datei, die du wirklich vermissen würdest, kein Testdokument. Der Sinn der Übung ist herauszufinden, dass dein Wiederherstellungsschlüssel auf einer Notiz im gesicherten Mac steht, und das an einem ruhigen Dienstag herauszufinden.
Eine automatische Prüfung hat drei Eigenschaften, die die manuelle nicht hat: Sie läuft, ob du daran denkst oder nicht, sie prüft jedes Stück, auch die, an die du nicht gedacht hast, und sie sagt dir sofort, wenn sie scheitert.
Copy Shelter liest das Backup zurück, prüft jedes Stück gegen den Hash, unter dem es gespeichert wurde, meldet ein gelöschtes Stück als fehlend und zählt nur Kopien, die es wirklich geprüft hat. Es meldet sich außerdem nach 7 Tagen ohne funktionierendes Backup, und das erwischt den vierten Ausfall oben, den häufigen.
shasum langsam?Es liest jedes Byte, also dauert es ungefähr so lange wie das Kopieren der Daten. Genau darum geht es: Eine Prüfung, die die Daten nicht liest, kann keine Festplatte erkennen, die sie nicht mehr liefert.
Ja, und eine Zufallsstichprobe ist viel besser als nichts. find ... | shuf -n 50 gibt dir fünfzig Dateien zum Prüfen, und damit erwischst du eine defekte Festplatte oder einen gestoppten Auftrag schnell, aber keine einzelne beschädigte Datei.
Speicheranbieter prüfen ihre eigenen Kopien mit Prüfsummen, und das schützt dich vor ihren defekten Festplatten. Es schützt dich nicht vor einem Upload, der nie fertig wurde, einer Datei, die schon beim Senden beschädigt war, oder einer Synchronisierung, die aufgehört hat. Die Prüfung muss von deiner Seite kommen.
Überschreib das Backup nicht. Mach zuerst eine zweite Kopie von deinem Mac auf einen anderen Speicher und finde dann heraus, welche der beiden falsch ist. Eine gescheiterte Prüfung bei einem Backup, das du sofort neu laufen lässt, ist eine gescheiterte Prüfung, deren Beweise du gerade vernichtet hast.
Monatlich ist ein vernünftiger Rhythmus für eine vollständige Prüfung, wöchentlich für eine Stichprobe und ein- bis zweimal im Jahr für eine echte Wiederherstellung. Alles nach Zeitplan schlägt alles, woran du denken musst.
Siehe auch: die 3-2-1-Backup-Regel und was dabei schiefläuft.