Software zum Prüfen / Vergleichen von Dateien

DIY-Junkie

Freizeitschrauber(in)
Software zum Prüfen / Vergleichen von Dateien

Hallo,

aus aktuellem Anlass suche ich eine Software, die Dateien prüfen bzw. vergleichen kann. Konkret geht es um folgendes:
Ich habe eine recht umfangreiche Sammlung von CDs, die ich nach und nach als flac archiviere. Dabei lege ich natürlich auch wert darauf, dass die Dateien fehlerfrei erzeugt werden. Das mache ich mit EAC, sofern bin ich bei diesem Schritt erstmal auf der sicheren Seite.

Jetzt geht es allerdings zur Datenpflege und damit zum Problem:

Die erzeugten Daten liegen dann bei mir auf dem PC auf einer Festplatte und werden auf einem anderen PC via LAN gesichert, dort ebenfalls auf Festplatte.
Weiterhin überspiele ich ausgewählte Musik auf ein Handy, damit ich im Auto Musik hören kann, alles über die erwähnten flac Dateien. Heute kam es vor, dass eine Datei ab der Hälfte etwa nicht mehr abspielbar war. Habe das original auf meinem PC probiert, läuft. Datei vom Handy zurückkopiert: ebenfalls nicht abspielbar.
Die Datei auf dem Handy ist also korrupt.

Nun fragt sich natürlich, warum sie das ist. Könnte beim Kopieren was schiefgelaufen sein, oder ist die Speicherkarte kaputt?
Ich möchte gern ausschließen, dass sich so etwas unbemerkt auf meinem PC oder noch schlimmer dem Backup einschleicht.
Daher suche ich nach einer Möglichkeit, Dateien abzugleichen. Nicht die Musik auf dem handy, sondern primär würde es mir dabei um das Backup gehen.
Denn ich möchte sichergehen, dass das Backup auch ein Backup ist :-)
Habt ihr da Empfehlungen? Wäre zusätzlich ein Raid 1 zu empfehlen?

PS: Mein PC sowie der Backup PC nutzen ECC-RAM, beim Kopieren sollte daher nichts schiefgehen?
 
Zuletzt bearbeitet:
AW: Software zum Prüfen / Vergleichen von Dateien

Das nutze ich auch. Wie gesagt, die Quelldatei, von der die Kopie auf dem Handy stammt, ist ja in Ordnung.

edit: Habe den Eingangsbeitrag bearbeitet, um besser klar zu stellen, wo das Problem liegt.
 
AW: Software zum Prüfen / Vergleichen von Dateien

Spricht etwas gegen checksummen/hashes? Diese Methode wird seit den Anfangszeiten des Internets genutzt um zu prüfen ob Dateien korrekt übertragen und gespeichert wjrden.
 
AW: Software zum Prüfen / Vergleichen von Dateien

Ok, wie man damit arbeitet, weiß ich nicht, schaue es mir aber mal an.
 
AW: Software zum Prüfen / Vergleichen von Dateien

RAID 1 ist nur eine Sicherung gegen einen HW-Ausfall einer Platte. Laufen beide Platten, weiss der Controller nicht, welche von zwei unterschiedlichen Varianten einer Datei die korrekte ist. Dafür müsstest Du schon RAID 5 nehmen und (bei drei Platten) 33% des Gesamtplatzes für Prüfsummen und Wiederherstellungsinformationen nutzen. Da es hier aber wohl nicht um die Hochverfügbarkeit der Daten geht, halte ich sowas im Heimbereich für hersaugeworfenes Geld. Genauso wie ECC-Ram (außer, man betreibt schon halbprofessionell einen Heimserver für die Großfamilie mit ZFS/BtrFS).

Die billigste Variante wären die erwähnten Prüfsummen, als Kommandozeile z.B.
Kopierte Dateien ueberpruefen | c't Magazin
Das hat im Gegensatz zu einem Dateivergleich den Vorteil, dass man auch ein extern gelagertes Backup mit den Prüfsummen auf Korrektheit testen kann ohne eine zweite Kopie der gesamten Daten vor Ort haben zu müssen.

Willst Du defekte Dateien u.U. auch wieder herstellen könenn, fällt mir in Anlehnung an Malkolm QuickPar/MultiPar ein
MultiPar announcement
Da kannst Du selber bestimmen, wieviel Platz Du für das Recovery bereit stellst.

Dann könnte es weiter gehen mit
SnapRAID
oder mit diversen, aber meist nur für Linux/Unix verfügbaren Dateisystemen (z.B. ZFS, BtrFS) welche bei korrekter Nutzung eine Prüfung und gewisse Wiederherstellbarkeit von defekten Daten versprechen. Dabei könnte auch ECC-Ram Sinn ergeben, ich würde aber einfach nicht auf übertaktets Ram (oder ebenso gequälte CPUs) setzen und jedes Backup vor dem Löschen der Originale mittels Prüfsummen testen.

Mir persönlich genügt Version 1. Mit dem Prüfsummen teste ich jährlich auch meine extern gelagerten Backups und habe damit bisher noch nie Fehler auf den bis zu 10 Jahre alten HDDs gefunden. Sowas eignet sich aber nur für Daten, die Du einmal erzeugst/sicherst und im Idealfall nie veränderst (was bei der Musik ja der Fall sein dürfte). Im Schadensfall musst Du hoffen noch eine korrekte Version der Datei irgendwo im Archiv zu haben.
 
AW: Software zum Prüfen / Vergleichen von Dateien

Ich muss gerade sagen, ich weiß nicht, wie "TeraCopy" arbeitet, aber zumindest hast du da die Möglichkeit des überprüfen. Vllt wichtige Daten damit kopieren...
 
AW: Software zum Prüfen / Vergleichen von Dateien

Die Prüfung beim/nach dem Kopieren hilft nur gegen Kopierfehler, nicht gegen Bitfäule oder fehlerhafte Speichermedien.

Auch Robocopy kann Dateien vergleichen, dafür benötigt man aber verständlicher weise zwei Varianten der Datei/zwei Backups. Hat man "nur" genau zwei davon auf zwei HDDs und es passiert etwas während dem Vergleich, sind mit Pech beide Varianten verschlüsselt/gelöscht.

Findet man beim Vergleich der beiden Archive einen Fehler, hat man das selbe Problem wie bei RAID1. Niemand sagt einem, welche der beiden Dateien defekt ist oder ob gar beide unterschiedliche Fehler aufweisen.
 
AW: Software zum Prüfen / Vergleichen von Dateien

ich arbeite in der Medizintechnik und in der Bildgebenden Diagnostik gibt es 10 Jahre Aufbewahrungspflicht. In der Therapie gibt es 30 Jahre Aufbewahrungspflicht. RAID 5 war dort schon vor 25 Jahren Standard.

Als Privatmensch würde ich die ganzen flac Daten halt hin und wieder auf neue Platten kopieren, so daß auch noch der Urenkel Urblues hören kann :-)

Blues: YouTube

Als wenn Elvis modern nichts mehr kann : YouTube

Es gibt auch Firmen, die sichern die Daten für einen Obulus die nächsten 3000 Jahre z-axis noch unter den Serverfarmen von youtube im Eis. Google soll dabei die günstigste Firma sein für den kleinen Mann.
 
Zuletzt bearbeitet:
AW: Software zum Prüfen / Vergleichen von Dateien

Ich habe die Prüfsummen mal via Terminal mit dem Befehl sha256sum für zwei Dateien probiert, geht soweit problemlos.
Ich glaube, ich schreib mir mal ein python Skript dafür. Wenn allerdings Ungereimtheiten gefunden werden, muss ich manuell handeln (Probehören :-) ).
Im Prinzip kann ich mir ja, wenn ich schonmal dabei bin, die Prüfsummen in ein textfile schreiben. Sollte später mal eine Datei defekt gehen, kann ich auf diese Weise nachprüfen, welche der beiden Versionen (original oder backup) die korrekte ist.
 
AW: Software zum Prüfen / Vergleichen von Dateien

Im Prinzip kann ich mir ja, wenn ich schonmal dabei bin, die Prüfsummen in ein textfile schreiben. Sollte später mal eine Datei defekt gehen, kann ich auf diese Weise nachprüfen, welche der beiden Versionen (original oder backup) die korrekte ist.
Wenn Du schon mit dem Programmieren beginnst, warum dann nicht gleich eine Datenbank, welche neben den Prüfsummen auch gleich noch andere Metadaten enthält?

Als Privatmensch würde ich die ganzen flac Daten halt hin und wieder auf neue Platten kopieren, so daß auch noch der Urenkel Urblues hören kann
Unbemerkte Fehler kopiert man dann einfach mit. Die Zeildatei entspricht auch dem Original bei der Kaopieraktion, nur dass leider das Original bereits (von HW und Dateisystem unbemerkt) fehlerhaft ist.
 
AW: Software zum Prüfen / Vergleichen von Dateien

Ist die Speicherkarte neu? Oder nutzt du sie schon länger, und hattest bisher keine Probleme damit? (ich frage weil es ja auch eine Fake-Karte sein könnte)
 
AW: Software zum Prüfen / Vergleichen von Dateien

Ist die Speicherkarte neu? Oder nutzt du sie schon länger, und hattest bisher keine Probleme damit? (ich frage weil es ja auch eine Fake-Karte sein könnte)
Die ist etwa 2 Jahre alt. Sonstige Probleme gab es bisher nicht. Was meinst du mit Fake-Karte?
Wenn Du schon mit dem Programmieren beginnst, warum dann nicht gleich eine Datenbank, welche neben den Prüfsummen auch gleich noch andere Metadaten enthält?
An welche Metadaten denkst du dabei?
 
AW: Software zum Prüfen / Vergleichen von Dateien

An welche Metadaten denkst du dabei?
Keine Ahnung, ob Du Deine Musik irgendwie verwalten willst (Album, Interpret, Titel, Länge, Erscheinungsjahr) oder ob Du sie immer nur in zufälliger Reihenfolge abspielst. Falls es diese Verwaltung bereits gibt, könnte man dort in zusätzlichen Eigenschaften Pfad, Dateiname und Prüfsumme speichern.

Ansonsten mind. dan Pfad (ohne Laufwerk), vieleicht noch das Dateidatum und natürlich den Dateinamen. Dann kannst Du die Prüfung Problemlos entweder auf dem NAS, dem USB-Laufwerk oder auch per Laptop auf einem ext. gelagerten USB-Laufwerk durchführen ohne die identischen Laufwerksbuchstaben zu haben.

Damit steht in der DB z.B.
Pfad: album1\
Datei titel1.flac

Und du prüfst entweder
U:\album1\titel1.flac
oder
\\NAS\backup\musik\album1\titel1.flac
oder gar
http://mein-nas//musiksammlung/album1/titel1.flac

Zusätzlich könnte man noch, falls die Sammlung zu groß wird oder doch mal iregndwann zusätzlich auf M-Disc DVD/BluRay gesichert wird, dort das entsprechende Medium vermerken (DVD Nr.17).

Das ganze geht naütlrich auch mit einem trivialen Text/CSV/XML File, so lange der Datenbestand nicht zu groß wird. Ich würde dort aber schon darauf achten, Laufwerk, Pfad, Dateiname und Prüfsdumme getrennt zu speichern.
 
AW: Software zum Prüfen / Vergleichen von Dateien

Also, das simpelste ist natürlich einfach "diff" zu nutzen. Das ist das Standardprogramm zum Vergleichen von Dateien. Das ist auf jedem unixoiden Betriebssystem installiert, bei Windows gibt es bestimmt etwas ähnliches, oder man installiert es nach (zB durch die Nutzung von cygwin).


Für Backups bietet sind rsync an. Falls du keine Lust hast, dir das in der Kommandozeile zusammenzubasteln, gibt es auch viele grafische Programme dafür, die aber im Grunde alle nur einen rsync-Befehl konfigurieren.
 
AW: Software zum Prüfen / Vergleichen von Dateien

Als Abspielprogramm nutze ich foobar2000 unter linux. Fürs backup habe ich "luckybackup" drauf, was eine GUI für rsync ist, soweit ich weiß.
Ich habe mir mittlerweile ein python Skript geschrieben und habe folgenden Ablauf geplant:

1. Initialer Abgleich der kompletten Sammlung (Quelle, Backup). Das mache ich via Prüfsummen und schreibe alles in ein textfile, was so aussieht:
Interpret '\t' Album '\t' Dateiname '\t' Prüfsumme '\n'
Also tab-getrennt (ohne die Leerzeichen, die dienen nur der Übersichtlichkeit des Beitrags hier). Interpret und Album werden aus dem Dateipfad generiert, denn meine Sammlung ist direkt so aufgebaut.

2. Wenn ich eine neue CD archiviere: Backup mit rsync.
3. Erneuter Abgleich der kompletten Sammlung, inkl. der neuen Dateien --> zwei neue textfiles, die wiederum abgeglichen werden
4. Abgleich der textfiles mit vorheriger Version (aus Punkt 1)
5. Löschen der vorherigen textfiles (wenn alles i.O. ist)

Punkt 2-5 werden also immer erneut ausgeführt, wenn etwas zur Sammlung dazukommt. Oder in regelmäßigen Abständen.
Macht das so Sinn?

Eine Frage, die sich mir stellt: Wenn sich an einer Quelldatei etwas ändert (Bitfäule, defekte SSD oder was auch immer), würde rsync das erkennen und direkt das Backup überschreiben? In diesem Fall würde mir das ja alles nichts nützen.
 
AW: Software zum Prüfen / Vergleichen von Dateien

Gute Arbeit!
Ja, das geht so. Ich wäre vermutlich zu faul das selbst zu skripten, und hätte erst mal github durchsucht :D

Ich habe gerade mal schnell in den Wikipedia Artikel von rsync geschaut:
rsync – Wikipedia

Und demnach würde rsync auf jeden Fall jede Änderung einer Datei erkennen, da es ebenfalls mit Prüfsummen arbeitet.
Mir war neu, dass rsync sogar nur Abschnitte einer Datei austauschen kann. Das ist ja schlau. :wow:
Damit muss es dann ja auch jedes geänderte Bit erkennen können.
 
AW: Software zum Prüfen / Vergleichen von Dateien

Ok, in diesem Fall muss ich vor jedem inkrementellen Backup die Prüfsummen der bestehenden Daten vergleichen und rsync danach ausführen.
Laut manual geht es aber auch mit dem Zusatz
--ignore-existing #skip updating files that exist on receiver
in rsync.
Mir war neu, dass rsync sogar nur Abschnitte einer Datei austauschen kann. Das ist ja schlau. :wow:
Also ähnlich wie git das tut? Bei git funktioniert das meines Wissens aber nur für textfiles.
 
Zuletzt bearbeitet:
Zurück