TimeMachine und Checksums: Großer Ordner mit vielen Dateien / Integritätsprüfung

Sharptype

Aktives Mitglied
Thread Starter
Dabei seit
23.05.2015
Beiträge
1.186
Reaktionspunkte
112
Hallo zusammen,

ich habe einen großen Ordner auf meiner Platte mit vielen Dateien, wo nur wenige regelmäßig geändert werden, aber viele neu hinzukommen. Die Platte ist mit TimeMachine gesichert.

Wenn ich das Backup jetzt irgendwann einmal brauche, um die Dateien bzw. den großen Ordner zurückzuspielen, dann hätte ich irgendwie gerne eine Checksum-Datei über alles (der gesame Ordner, Unterordner mit allen Dateien in einer Prüfsummendatei), um zu validieren, ob alles "heile" wieder an seinen Platz gekommen ist.

Ist das ein dummer Gedanke oder kümmert sich TimeMachine im Hintergrund darum bzw. informiert mich, wenn eine Datei über die Zeit korrupt wird (ich habe diesbezüglich vor einigen Jahre leider schlechte Erfahrungen gemacht)? Und schaden kann es ja auch nicht sich hier nochmal abzusichern.

Meine Idee wäre daher einfach mal eine Prüfsummendatei über den ganzen Ordner zu erstellen, die ich - sollte ich das Backup tatsächlich einmal brauchen - dann einmal durchlaufen lassen könnte.

Welcher Befehl wäre dafür geeignet bzw. welche Parameterkonstellation von z.B. shasum? Da gibt es ja so viele Einstellungen, die man mitgeben kann.

Ich danke euch für die Tipps :)
 
Eigentlich alle Controller von HDD und SSD haben Checksummen und verifizieren, damt die geschriebenen Daten.

Sinnvoller als Checksummen halt ich ein 2. Backup. Es bringt dir recht wenig, wenn du aufgrund von Checksummen weißt, dass ein backup nicht mehr lesbar ist, aber kein 2. Backup hast.

Ansonsten musst du dich halt durch dei manpage von md5 und Co wühlen.
 
Erst einmal vielen Dank für die Antwort. Das denke ich bzw. kann mir gut vorstellen, dass die Controller sowas in sich tragen. Hilft nur leider nicht, wenn die Software da keine aktive Meldung draus generiert. Ein zweites (und auch drittes) Backup sind vorhanden (selbstredend), nur habe ich das Problem ansprechen wollen, dass ich/man ja beim Zurückspielen nun nicht weiß, ob das Backup in Takt war bzw. die ob die Integrität passte. Ich nehme mir das neueste Backup und würde es zurückspielen und halt nur hoffen, dass alles passt. Aber ob es intakt ist mit allen Files weiß ich nicht.

Gibt es dafür keine "Systemlösung"? Wie machen "andere" das? Wenn ein Backup aus vielen Dateien besteht, kann man ja schlecht alle Dateien irgendwie "öffnen" bzw. prüfen. Meine Hoffnung war daher, dass TimeMachine so ausgereift ist, dass es das irgendwie "mitbekommt" und sich meldet.

Was passiert, zumindest stelle ich es mir so vor, ist, dass man seine "gängigsten" Files benutzt und dann in der Hoffnung ist, dass alles andere auch funktioniert, aber wie geht man da sicher? Diese Frage stelle ich mir bzw. wollte ich mit dem Thread anreißen/klären :D
 
Was passiert, zumindest stelle ich es mir so vor, ist, dass man seine "gängigsten" Files benutzt und dann in der Hoffnung ist, dass alles andere auch funktioniert, aber wie geht man da sicher?
TimeMachine und das Apple-Filesystem sind ziemlich schlau.
Die merken schon von ganz alleine, was sich alles so geändert hat und nur das wird zu deinem Backup-Set dazu gespeichert.
Oder andersrum: Was sich nicht verändert hat, wird gar nicht erst nochmal angefasst oder gar umkopiert.

Und trotzdem vermitteln sie dir die Illusion, dass gestern-vorgestern-vorvorgestern-vorvorvorgestern-... auf magische Weise alles nochmal gespeichert worden sei.
Es scheint mir nicht erfolgversprechend und auch nicht so wirklich zielführend, in diesen Mechanismus mit ein paar Checksummen einzugreifen.
 
Erst einmal vielen Dank für die Antwort. Das denke ich bzw. kann mir gut vorstellen, dass die Controller sowas in sich tragen. Hilft nur leider nicht, wenn die Software da keine aktive Meldung draus generiert. Ein zweites (und auch drittes) Backup sind vorhanden (selbstredend), nur habe ich das Problem ansprechen wollen, dass ich/man ja beim Zurückspielen nun nicht weiß, ob das Backup in Takt war bzw. die ob die Integrität passte. Ich nehme mir das neueste Backup und würde es zurückspielen und halt nur hoffen, dass alles passt. Aber ob es intakt ist mit allen Files weiß ich nicht.

Gibt es dafür keine "Systemlösung"? Wie machen "andere" das? Wenn ein Backup aus vielen Dateien besteht, kann man ja schlecht alle Dateien irgendwie "öffnen" bzw. prüfen. Meine Hoffnung war daher, dass TimeMachine so ausgereift ist, dass es das irgendwie "mitbekommt" und sich meldet.

Was passiert, zumindest stelle ich es mir so vor, ist, dass man seine "gängigsten" Files benutzt und dann in der Hoffnung ist, dass alles andere auch funktioniert, aber wie geht man da sicher? Diese Frage stelle ich mir bzw. wollte ich mit dem Thread anreißen/klären :D

Ich habe den Eindruck, du denkst zu konpliziert.

Du unterstellst irgendwie, dass die Daten auf dem Weg von der Backup-Platte, übers Kabel, auf die Ziel-Platte verändert werden.

Jede der Komponenten / Übertragungsprotokolle arbeiten ja mit Checksummen. Wenn du z.B. übers LAN/Internet Daten anforderst und die kämen nicht / verfälscht an, dann werden die nochmals angefordert.

Wenn korrupte Daten entstehen, dann so, dass dir eine Platte einfach Lesefehler aufweist. Diese Lesefehler werden aber nicht kopiert bzw. übers Kabel zum Ziel geschickt. Du kriegst die Daten gar nicht erst geliefert.

Das ist doch genau das Problem, das (leider) immer mal wieder auftritt, dass man eine Platte anschließt und auf einmal nicht mehr drauf zugreifen kann bzw. Lesefehler auftreten. Da wird nichts an "korrupten Daten" kopiert.

Wenn du mit deinen Sorgen an sowas wie "bitrot" denkst, dass also in der Magnetschicht einer Platte ein einzelnes Bit von 0 auf 1 springt oder umgekehrt, oder ein einzelnes Bit in einer Speicherzelle der SSD kippt, dann kannst du das nur erkennen, wenn du regelmäßig zu allen Dateien Checksummen erzeugst und in einer Datenbank speicherst, um dann bei nächsten Laif wieder alle Checksummen zu berechnen und mit der DB zu vergleichen. Dann hast du aber immer noch das "Problem", dass du nicht weißt, ob nicht gerade in der DB ein Bit gekippt ist. Google mal nach "bitrot". Das kann man prüfen, ich halte es aber für etwas esoterisch.
 
Moin. Also ja das stimmt schon. Ich mache mir da viele Gedanken, u.U. auch zu viele. Aber letzten Endes ist es ja ungelöst bzw. meiner Meinung nach ein Problem. Ich spiele eine Backup zurück und weiß nicht, ob die Integrität in Ordnung ist.

Ich habe früher schon Erfahrungen gemacht mit Dateien, die "über die Zeit" einfach kaputt gegangen sind. Die waren allerdings auf USB-Sticks. Vielleicht kommt es daher :-D

Ist das denn heutzutagen so selten? Wenn ich das richtig verstanden habe, dann gehen heutzutage eher die Platten komplett kaputt, aber so schleichtende Prozesse wie "da geht mal eine Datei kaputt" gibt es eigentlich nicht mehr?
 
Wenn ich das richtig verstanden habe, dann gehen heutzutage eher die Platten komplett kaputt, aber so schleichtende Prozesse wie "da geht mal eine Datei kaputt" gibt es eigentlich nicht mehr?
Naja, bei einer HDD kann der Kopf immer mal aufsetzen.
Bei einer SSD kann es bei längerer Lagerung ohne Strom auch zu Datenverlusten kommen.

Eclecticlight hat ein Tool um eine Checksumme in die Metadaten zu schreiben, was auch beim Backup übertragen wird.

Aber an sich willst du ja nicht nur feststellen, ob die Daten beschädigt sind, sondern die auch retten.
Dafür gibt es ja verschiedene Strategien.
 
Nein, eigentlich möchte ich nur einen Weg/technische Lösung wissen, wie ich sicher gehen kann, dass wenn ich ein Backup zurückspiele, meine Dateien in dem Zustand sind, wie früher (Zeitpunkt X) auch waren (sofern sie nicht bewusst durch mich verändert wurden natürlich).

Theoretisch wäre das sogar nicht nur im Backup-Fall wünschenswert zu wissen :geek:
 
Nein, eigentlich möchte ich nur einen Weg/technische Lösung wissen, wie ich sicher gehen kann, dass wenn ich ein Backup zurückspiele, meine Dateien in dem Zustand sind, wie früher (Zeitpunkt X) auch waren (sofern sie nicht bewusst durch mich verändert wurden natürlich).

Theoretisch wäre das sogar nicht nur im Backup-Fall wünschenswert zu wissen :geek:

ich habe es doch schon geschrieben:

Nutze die Suchmaschine deiner Wahl und suche nach "bitrot".

Das ist das was du meinst erkennen zu müssen, weil du der Ansicht bist, dass eine Datei plötzlich irgendwelche Fehler aufweist, die der Controller nicht erkennt und nach wie vor problemlos lesen kann, obwohl ja jeder Controller eh schon Checksummen und Fehlerkorrektur-Code besitzt.

In Kürze: du musst regelmäßig Checksummen all deiner Daten bilden und die immer wieder mit den vorherigen Ständen vergleichen.

Dafür gibt es Tools. Manche musst du dir selbst kompliieren, vielleicht findest du bei deiner Suche auch was, was schon fertig kompiliert ist und auch dem AMc läuft. berichte mal wenn du was gefunden hast über deine Erfahrungen.
 
Ich denke mir wird es genügen von dem einen großen Ordner einfach in unregelmäßigen Abständen eine Geamtprüfsumme generieren zu lassen und die hin und wieder mal durchlaufen zu lassen, um dann ggf. Maßnahmen einzuleiten, falls überhaupt nötig.

Muss mir nur ein Skript suchen, welches mir aus allen Datein und Unterordnern eines Hauptordners die eine Datei mit allen Prüfsummen der darunterliegenden Files generiert. Nicht, dass ich da tausende Prüfsummenfiles habe. Das wäre doof. Das würde mir schon reichen.
 
von dem einen großen Ordner einfach in unregelmäßigen Abständen

dann musst du nur noch sicherstellen, dass innerhalb der Abstände kein Backup erstellt wurde, denn sonst könnte die korrupte Datei auch bereits korrupt ins Backup gelangt sein.

Und du musst natürlich deine Checksumme gegen bitrot sichern... und keine Metadaten prüfen... und sicherstellen, dass keine bewusst geänderten Dateien in die eine Checksumme einfließen und natürlich auch keine mehr und keine weniger.
 
Moin. Danke für die Tipps erstmal. Was ist an cksfv im Vergleich zu shasum zb anders? Habe mir die Doku gerade durchgelesen und recherchiert. Auf einer Seite stand sogar, lieber shasum oder md5 verwenden? Oder ist cksfv speziell für diesen Anwendungsfall bez. korrupten Files und geht zb schneller? Sind ja durchaus einige Files, die da berechnet werden müssen im gesamten Ordner.

Was gut ist, es scheint direkt ein gesamer Ordner berechnet werden zu können und alles landet dann in einer Datei, so, wie ich es brauche.

Blöd ist aber, dass ich es extra installieren muss und ich habe Mojave immer noch nicht auf Montery aktualisiert und Montery brauche ich für homebrew und homebrew für cksfv :rolleyes:
 
cksfv ist für sfv.
Ich meine das konnte auch Ordner rekursiv.
Dann brauchst nicht extra ein Script schreiben.
 
Ich würde auch das empfohlene dintch von eclectic nehmen. Was du willst bietet auch APFS überhaupt nicht an, wenn die Platte Fehler hat kann sie deine Daten langsam zu Schweizer Käse verarbeiten und du merkst das erst wenn du ein File öffnen willst und es nicht mehr geht. Es gibt nur ganz wenige Dateisysteme die die von dir gesuchte Funktion anbieten, sodass du dir die App obendrüber mit den Checksummen sparen kannst. Eins davon läuft auch unter MacOS: https://openzfsonosx.org/

Festplatten die du mit ZFS nutzen willst müssen komplett neu mit ZFS formatiert werden, Snapshots und sowas wie es APFS beherrscht kann ZFS auch alles. Das legt automatisch Prüfsummen an und teilt dir mit wenn Dateien defekt sein sollten. Üblicherweise lässt man ZFS mit mindestens zwei identen Platten laufen die gespiegelt sind. In dem Fall kann ZFS bei einer falschen Prüfsumme auf einer Festplatte das File aus der zweiten Platte wieder zurückspielen.

Für deine Zwecke würde es gut funktionieren, die MacOS-Variante ist nur für den 'produktiven' Einsatz nicht geeignet, weil sich um die MacOS-Variante hauptsächlich nur ein einziger Entwickler kümmert und Updates auch mal dauern können, also in einer Firma oder so kann man das nicht nutzen, und bestenfalls hat man noch eine Sicherung auf APFS oder HFS+, falls ZFS doch mal patzt.

In der Praxis ist auch diese eher-Test-Variante von ZFS auf MacOS so zuverlässig, dass ich sie seit vielen Jahren nutze (und ZFS auf anderen Systemen seit ca einem Jahrzehnt) und es mich öfters vor Datenverlust bewahrt hat, sodass ich es für meine Zwecke als deutlich besser als APFS, HFS+ und NTFS sehe. Die Chance dass die korrupt/defekt werden dürfte größer sein.

Besser wär aber ein Linux-/BSD-NAS, da drauf läuft die besser supportete Variante von ZFS und da kannst du auch problemlos mehrere Festplatten nutzen für eine Spiegelung oder ein RAID (ZFS unterstützt die gängigen RAID-Modi und hat dafür eine eigene Implementation die ebenfalls Checksummen nutzt).
 
Vielen Dank erstmal für die Antworten und Tipps. Was ich mich frage: Wieso hat niemand anderes dieses Problem bzw. denkt drüber nach? Ich will da ja auch kein Aufwand betreiben, wo es einfach Schwachsinn ist. In sowas bin ich leider gut.

Letzen Endes gehts mir ja nur darum safe zu sein, wenn mal der Backup Fall eintritt, aber eben auch mit meinem "alten Rechner". Mein Macbook Pro ist von 2015 und ich nutze das immer noch mit der originalen SSD. Ich hatte auch mal einen Thread aufgemacht, wo ich wegen der Lebensdauer der SSD gefragt habe und da kam raus, dass die noch ewig halten würde von den bisherigen Lese- und Schreibzyklen her.

Evtl. mache ich mir da auch Gedanken über Dinge, die ich vernachlässigen kann. Bin mir da aber echt unsicher. Bin mal von damals etwas geschädigt worden, weil ich wichtige Daten auf einem USB-Stick hatte, die irgendwann korrupt wurden. Aber das war auch vor 15 Jahren. Evtl. kommt meine Sorge daher, dass das wieder auftreten könnte bzw. das der Fall wahrscheinlich ist.

Hinzukommt meine Angst vor dem Update auf Monterey von Mojave, was ich mich immernoch nicht getraut habe, weil einfach alles funktioniert gerade. Aber ich bekomme so unter Mojave nicht mal cksfv installiert. Habe aber Sorge, dass das Update - was ich noch durchführen kann mit meinem 2015er Macbook Pro - auf Montery mir irgendwie das System zerschießt. Aber mittlerweile bin ich schon recht "alt" mit Mojave und selbst KeepassXC bekomme ich nicht mehr in der neuesten Version zum Laufen, was mir auch Sorge bereitet :-(
 
Die Lösungen gibt es bereits, jedes solide NAS mit RAID-Funktion kann den Großteil der Fehler erkennen und automatisch reparieren, solange du defekte Festplatten zeitgerecht auswechselst. USB-Sticks haben meistens die billigsten Speicherchips drin und die werden daher leicht kaputt. Speichere deine Backups und Dateien auf ein NAS, und nicht auf USB-Sticks.

Das erinnert mich an meine Familie früher, die alle Sicherungen auf CDs gebrannt hat, 700MB per CD und dutzende davon. Später beim Durchsortieren hab ich die testweise mal probiert und ein paar haben noch die Ordnerstruktur anzeigen können, aber lesbar war das nicht mehr.

Ich will da ja auch kein Aufwand betreiben, wo es einfach Schwachsinn ist.
Es ist kein Schwachsinn, ich will jedenfalls meine Familienfotos und Erinnerungen gesichert wissen, daher hab ich alle Backups auf ein NAS mit RAID gelegt, und bei einem Zweitwohnsitz der Familie steht ein zweites NAS wo die dritte Kopie der Daten liegt.

Ein simples NAS von Synology mit zwei Platten für Spiegelung kostet insgesamt um die 500 Euro, ein zweites davon irgendwo bei der Familie hinstellen und du hast mit einem Tausender bereits das Problem gelöst. Die Sync-Funktion bringt Synology glaub ich sogar von Haus aus mit. Du kannst auch nur ein NAS nehmen und das kann dann auf eine externe Platte noch ein Backup anfertigen, wobei das dann wohl nicht mehr von den RAID-Features abgedeckt wird und eher nur für den absoluten Notfall ist, wenn das NAS in Flammen steht.
 
Evtl. mache ich mir da auch Gedanken über Dinge, die ich vernachlässigen kann. Bin mir da aber echt unsicher. Bin mal von damals etwas geschädigt worden, weil ich wichtige Daten auf einem USB-Stick hatte, die irgendwann korrupt wurden. Aber das war auch vor 15 Jahren. Evtl. kommt meine Sorge daher, dass das wieder auftreten könnte bzw. das der Fall wahrscheinlich ist

Meiner Ansicht nach machst du dich komplett verrückt.

Bevor du dich mit "bitrot" beschäftigst, solltest du viel eher an eine vernünftige backup-Strategie denken: Mach 2 Backups deiner Daten. Es ist schon verdammt unwahrscheinlich, dass dir deine original-Daten kaputt gehen und gleichzeitig beide Backups. Willst du das noch weiter steigern, um z.B. einen Brand in deiner Wohnung/Haus abzusichern, mache 1 Backup deiner Daten außer Haus, z.b. in eine Cloud.

Und automatisere deine Backups. "Dran denken" und "manuell" klappt nicht. Glaube mir. Ich musste das erfahren.

Ich hatte 3 mal die Notwendigkeit ein Backup einzuspielen. Das erste Mal hatte ich gedacht, ich sichere ja clever wie ich bin, alles manuell. Ich denke da dran. Tja, POP3 und kein Backup der Mails mit der Folge, dass viele Jahre an älteren Mails ins Nirvana gegangen sind. Dann war einmal die Platte eines iMac defekt. Das stressigste war das öffnen des iMac. Nach dem Einspielen des TimeMachine-Backups war alles so wie vorher. Das dritte mal ging eine Daten-HDD kaputt. Backup-Platte angesteckt und davon als erstes ein Backup auf eine weitere Platte gemacht.

Das waren meine Erfahrungen: "bitrot" hatte ich noch nie und halte es auch aufgrund der Technik von Controllern seit Jahrzehnten für knapp an Paranoia grenzend.

Wenn du auf diesen Zug aufsteigst, wirst du vor lauter "Datenverlust-Angst" nicht mehr glücklich. Wer sagt dir denn, dass die Datenbanken deiner Checksummen nicht korrupt sind. Denn... bei "bitrot" sollen ja die Daten vollkommen lesbar sein, aber verfälscht. Und zwar so verfälscht, dass die Fehlerkorrektur der Controller das nicht korrigieren kann, aber trotzdem die Daten lesbar zurück geliefert werden.

Und dann... wer sagt dir, dass deine erste Checksumme nicht auch schon korrupte Daten berechnet hatte? Dieses "bitrot"-Thema ist ein Kanninchen-Bau, in den du beliebig tief einsteigen kannst, aber niemals den Ausgang erreichen wirst. Und am schlimmsten: was bringt es dir zu erfahren, dass eine Checksumme deiner originalen Daten nicht stimmt, wenn du entweder kein Backup hast, oder du nicht weißt, ob dein Backup nicht auch von "bitrot" an anderer Stelle betroffen ist?

Alles in allem halt ich bitrot für ein interessantes Gedankenspiel. Aber für nicht mehr.

Hinzukommt meine Angst vor dem Update auf Monterey von Mojave, was ich mich immernoch nicht getraut habe, weil einfach alles funktioniert gerade. Aber ich bekomme so unter Mojave nicht mal cksfv installiert. Habe aber Sorge, dass das Update - was ich noch durchführen kann mit meinem 2015er Macbook Pro - auf Montery mir irgendwie das System zerschießt.

Wenn du an so einen Satz wie "never change a running system" glaubst, dann kann ich persönlich dir nur empfehlen, den möglichst schnell zu vergessen.

Die meisten Probleme kriegst du nicht bei einem update von einem System auf das direkt folgende System, sondern viel eher, wenn du jahrelang meinst "es läuft ja alles, da fasse ich nichts an". Irgendwann wird der Sprung so groß, dass zwar keine Fehler auftreten, aber du gezwungen sein wirst, viele Programme upzudaten, viel Konvertierungen von Dateiformaten deiner Programme mit zu machen, manche Programme vollkommen ersetzen musst durch gänzlich neues.

Das was du dir vermeintlich an Zeit und Aufwand bei einem Update auf das direkt folgende System sparst, kriegst du dann multipliziert zurück.

Daher finde ich diesen Spruch des "never change..." als eine der dümmsten Erscheinungen in der IT. In etwa so sinnvoll wie einen barcode-Entstörstift.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: dg2rbf und Schiffversenker
Ich vermute, der Satz stammt vielleicht aus recht alten Zeiten und aus der Großrechner-Szene, wo man wenige Aufgaben erledigte, die sich kaum änderten. Und da waren Änderungen vielleicht immer ein wenig experimentell.
Da gab es halt noch keine Vernetzung wie heute mit den sich immer ändernden Angriffsmöglichkeiten.
 
Zurück
Oben Unten