Ich möchte die Dateien einfach auf mehreren Computern sichern und archivieren. Leider haben die Dateien einige große Dateien, die dieselbe Datei sind, aber auf verschiedenen Computern unterschiedlich gespeichert sind. Beispielsweise können einige hundert Fotos als Ad-hoc-Sicherung von einem Computer auf den anderen kopiert werden. Jetzt, da ich ein gemeinsames Repository für Dateien erstellen möchte, möchte ich nicht mehrere Kopien desselben Fotos.
Wenn ich alle diese Dateien in ein einziges Verzeichnis kopiere, gibt es ein Tool, das doppelte Dateien erkennt und mir eine Liste gibt oder sogar eines der doppelten löscht?
backup
file-management
deduplication
Benutzer1
quelle
quelle
Antworten:
Erstellen Sie eine md5sum von jeder Datei. Duplikate md5sums schlagen doppelte Dateien vor (garantieren jedoch nicht).
quelle
Sie können dupemerge verwenden , um die identischen Dateien in Hardlinks umzuwandeln . Bei einem großen Dateisatz wird es jedoch sehr lange dauern . SHA- (oder MD5-) Hashes der Dateien funktionieren mit ziemlicher Sicherheit schneller, aber Sie müssen mehr Arbeit leisten, um die Duplikate zu finden. Die Wahrscheinlichkeit einer versehentlichen Kollision ist so gering, dass Sie sie in Wirklichkeit ignorieren können. (Tatsächlich tun dies bereits viele Deduplizierungsprodukte.)
Ihre beste Wahl für den Umgang mit Fotos und Musik ist es, Tools zu erhalten, die speziell auf das Auffinden von Duplikaten dieser Elemente zugeschnitten sind. Zumal Sie möglicherweise keine Dateien haben, die auf Binärebene identisch sind, nachdem Dinge wie Markieren oder Zuschneiden oder Codierungsunterschiede ins Spiel gekommen sind. Sie benötigen Tools, mit denen Sie Fotos finden können, die gleich "aussehen", und Musik, die gleich "klingt", selbst wenn geringfügige Anpassungen an den Dateien vorgenommen wurden.
quelle
hardlink
ist sehr schnell (dauerte 200 Sekunden für 1,2 Millionen Dateien, 320 GB)Wenn Sie die Möglichkeit haben, können Sie ein deduplizierendes Dateisystem einrichten und Ihre Backups darauf ablegen. Dadurch werden nicht nur ganze Dateien, sondern auch ähnliche Dateien dedupliziert. Wenn Sie beispielsweise an mehreren Stellen dasselbe JPEG haben, jedoch in jeder Version unterschiedliche EXIF-Tags verwenden, speichert ein deduplizierendes Dateisystem die Bilddaten nur einmal.
Das Deduplizieren von Dateisystemen umfasst lessfs, ZFS und SDFS.
quelle
rsync --link-dest
ist dein Freund, wenn du auch beim Lesen / Übertragen sparen möchtest. Eine einfache Einführung ist hier: netfuture.ch/2013/08/…Als ich so etwas gemacht habe, habe ich gelernt, dass es viel ansprechender / zeiteffizienter ist, die Dateien in Ihrer Freizeit innerhalb von ein paar Wochen selbst durchzugehen. Sie können den Unterschied zwischen den Dingen viel besser erkennen als Ihr Computer.
Wenn Sie nicht einverstanden sind, empfehle ich EasyDuplicateFinder . Wie oben erwähnt, dauert es jedoch etwa einen Tag, bis 5 GB Dateien vorhanden sind.
Und in einem anderen Punkt macht Crashplan das, was Sie zuvor getan haben, aber auf eine viel besser organisierte Art und Weise, bei der keine Versionierungsprobleme auftreten.
quelle
Eine andere Möglichkeit, vorausgesetzt, die von Ihnen gesicherten Maschinen unterstützen dies, besteht darin, so etwas wie zu verwenden
rsync
.Wenn Sie
rsync
von A nach B, dann von C nach B, dann von D nach B usw. gehen, werden exakte Duplikate (dh nach Dateiname) entfernt (und zwischen den Maschinen, die Sie sichern, synchronisiert).Wenn Sie jedoch nicht möchten, dass alle miteinander synchronisiert sind, ist dies nicht der beste Weg.
quelle
Verwenden Sie für Bilddateien findimagedupes . Es ist auch in Debian verpackt .
quelle
Hardlinks führen nur dann eine Deduplizierung durch, wenn die gesamte Datei identisch ist. Wenn sich Header (EXIF, ID3,…) oder Metadaten (Eigentümer) unterscheiden, werden sie nicht verknüpft.
Wenn Sie die Möglichkeit haben, ein Dateisystem mit Block-Deduplizierungsunterstützung (ZFS, btrfs, ...) zu verwenden, verwenden Sie dies stattdessen. Ich mag die Offline- Dedup-Unterstützung (auch bekannt als Batch- Dedup-Unterstützung) von btrfs, die die Deduplizierung auf Extent-Ebene unterstützt und nicht ständig viel Speicher verbraucht (wie ZFS-Online-Dedup).
Die Deduplizierung hat auch den Vorteil, dass Dateien vom Benutzer geändert werden können, ohne dass die andere Kopie dies bemerkt (was in Ihrem Fall möglicherweise nicht der Fall ist, in anderen jedoch).
Eine ausgezeichnete Diskussion finden Sie unter https://btrfs.wiki.kernel.org/index.php/Deduplication .
quelle