Kann ich nach dem Kopieren von etwa 50 GB (30.000 Dateien, einschließlich verschiedener Formate) von Dateien von einer internen Festplatte auf eine externe Festplatte feststellen, ob alles korrekt kopiert wurde? Auch wenn ich zwischendurch durch Abbrechen des Vorgangs aufhöre und später sage Zusammenführen" den Vorgang fortsetze, wird die Richtigkeit beeinträchtigt?
Ich konnte verwenden , um Anwendungen wie , back-in-time
aber ich bin sehr wählerisch in dem Kopieren von Dateien und für das nächste Mal , wenn ich verwenden will copy
Betrieb und sage merge
statt replace
. Ist es ratsam, wenn Sie eine große Anzahl von Dateien kopieren?
Antworten:
Ich verwende hashdeep , um Sicherungen / Wiederherstellungen zu überprüfen und gelegentlich auf Dateisystembeschädigungen in einem RAID zu prüfen.
Die Geschwindigkeit hängt davon ab, welche Hash-Funktionen Sie verwenden (einige sind rechenintensiver als andere) und von der Lesegeschwindigkeit Ihrer Festplatten. Auf meinem System
hashdeep
kann mit md5 und 300 MB / s Lesegeschwindigkeit ca. 1 TB / Stunde verarbeitet oder überprüft werden.Beispiel zur Berechnung und Speicherung von Prüfsummen in einer Datei:
Parameter:
r
- rekursivl
- Verwenden Sie relative Pfadec
- Hash-Funktion angeben.
- rekursiv ab dem aktuellen Verzeichnis>
- Ausgabe in die angegebene Datei umleitenSiehe die Manpage .
Beispiel zur Überprüfung von Prüfsummen und zum Ausdrucken einer Liste von Unterschieden:
Parameter:
a
- Audit (vergleiche mit der Liste der bekannten Checksummen)v
- ausführlich (um eine Auflistung der Nichtübereinstimmungen zu erhalten,v
bedeutet Mehrfaches s ausführlicher)k
- Datei mit bekannten HashesBeachten Sie, dass ab März 2016 aufgegeben
hashdeep
zu werden scheint .quelle
Es sieht aus wie die perfekte Aufgabe für Rsync . Rsync vergleicht und kopiert Unterschiede.
Das
rsync
Dienstprogramm kam mir zum ersten Mal in den Sinn, als ich Ihre Frage sah. Wenn Sie wie folgt vorgehen, wird möglicherweise schnell angezeigt, welche Dateien sich im Verzeichnis befindena
, nicht jedoch inb
:Dies ist eine gute Option, da Sie auch den Inhalt der Dateien vergleichen können, um sicherzustellen, dass sie übereinstimmen.
rsync
Der Delta-Algorithmus von ist für diese Art von Anwendungsfall optimiert. Wenn Sie dannb
den Inhalt von abgleichen möchtena
, können Sie einfach die-n
Option entfernen , um die eigentliche Synchronisierung durchzuführen.Einige verwandte Fragen:
quelle
Wurden die GUI-Apps beim Datei- und Verzeichnisvergleichstool vorgeschlagen ? Tun Sie es nicht für Sie, versuchen Sie,
diff -rq /path/to/one /path/to/other
beide Verzeichnisse leise zu durchsuchen und nur Unterschiede auf dem Bildschirm zu protokollieren.quelle
Die Situation, die Sie sagen, ist zu komplex. Sie können jedoch ein Skript schreiben, um MD5 aller zu kopierenden Dateien zu berechnen und sie später mit den kopierten Dateien zu vergleichen:
Wenn Sie etwas einfaches und schnelles wollen (es wird in sehr komplexen Szenarien nicht funktionieren), können Sie Meld verwenden
quelle
Bei "Wenn alles korrekt kopiert wurde" verwende ich ein modifiziertes cp (oder mv), das eine Prüfsumme enthält (optional in xattr gespeichert, daher muss es nur einmal für die Quelle berechnet werden). Http://sourceforge.net/projects / crcsum /
quelle
crccp
in Ihre Antwort ein! ;-) Sie können den Link immer am Ende Ihrer Antwort als Quelle für Ihr Material