Chcę po prostu wykonać kopię zapasową i zarchiwizować pliki na kilku komputerach. Niestety pliki zawierają niektóre duże pliki, które są tym samym plikiem, ale są przechowywane inaczej na różnych komputerach. Na przykład może istnieć kilkaset zdjęć skopiowanych z jednego komputera na drugi jako kopia zapasowa ad hoc. Teraz, gdy chcę utworzyć wspólne repozytorium plików, nie chcę kilku kopii tego samego zdjęcia.
Jeśli skopiuję wszystkie te pliki do jednego katalogu, czy istnieje narzędzie, które może przejść i rozpoznać zduplikowane pliki i dać mi listę, a nawet usunąć jeden z duplikatów?
backup
file-management
deduplication
Użytkownik 1
źródło
źródło
Odpowiedzi:
Utwórz sumę md5 każdego pliku, duplikaty md5sums sugerują (ale nie gwarantuje) duplikatów plików.
źródło
Możesz użyć dupemerge, aby zamienić identyczne pliki w twarde linki . To zajmie bardzo dużo czasu na dużym zestawie plików. Skróty plików SHA (lub MD5) prawie na pewno będą działały szybciej, ale będziesz musiał zrobić więcej starań, aby znaleźć duplikaty. Prawdopodobieństwo przypadkowego zderzenia jest tak niskie, że w rzeczywistości można go zignorować. (W rzeczywistości wiele produktów do deduplikacji już to robi.)
Najlepszym sposobem radzenia sobie ze zdjęciami i muzyką jest zdobycie narzędzi dostosowanych do znajdowania duplikatów tych elementów. Zwłaszcza, że nie możesz mieć plików, które są identyczne na poziomie binarnym po wejściu w grę takich elementów, jak tagi, przycinanie lub różnice w kodowaniu. Będziesz potrzebować narzędzi, które mogą znaleźć zdjęcia, które „wyglądają” tak samo, i muzykę, która „brzmi” tak samo, nawet jeśli w plikach wprowadzono drobne zmiany.
źródło
hardlink
jest bardzo szybki (zajęło 200 sekund dla plików 1,2 mln, 320 GB)Cóż, jeśli masz taką możliwość, możesz skonfigurować system plików do deduplikacji i umieścić na nim kopie zapasowe. Spowoduje to nie tylko deduplikację całych plików, ale także podobnych fragmentów plików. Na przykład, jeśli masz ten sam plik JPEG w kilku miejscach, ale z różnymi znacznikami EXIF w każdej wersji, system plików do deduplikacji zapisuje dane obrazu tylko raz.
Systemy plików do deduplikacji obejmują lessfs, ZFS i SDFS.
źródło
rsync --link-dest
jest twoim przyjacielem, jeśli chcesz oszczędzać na czytaniu / przesyłaniu. Proste wprowadzenie jest tutaj: netfuture.ch/2013/08/…Kiedy robiłem takie rzeczy, dowiedziałem się, że o wiele bardziej angażujące / oszczędzające czas jest faktyczne samodzielne przeglądanie plików w wolnym czasie przez kilka tygodni. Możesz odróżnić rzeczy o wiele lepiej niż Twój komputer.
Jeśli się nie zgadzasz, sugeruję EasyDuplicateFinder . Jak już wspomniałem powyżej, na przykład 5 GB plików zajmie dużo czasu.
Z drugiej strony Crashplan robi to, co robiłeś wcześniej, ale w znacznie bardziej zorganizowany sposób, nie powodujący problemów z wersją.
źródło
Inną możliwością, zakładając, że maszyny, których kopie zapasowe będą obsługiwać, będzie to wspierać, jest użycie czegoś takiego
rsync
.Jeśli przejdziesz
rsync
od A do B, a następnie od C do B, a następnie od D do B itp., Dokładne duplikaty (tj. Według nazwy pliku) zostaną wyeliminowane (i zsynchronizowane między komputerami, których kopię zapasową wykonujesz).Jeśli jednak nie chcesz, aby wszystkie były ze sobą zsynchronizowane, nie jest to najlepszy sposób.
źródło
W przypadku plików graficznych użyj findimagedupes . Jest także zapakowany w debian .
źródło
Dowiązania twarde wykonują deduplikację tylko wtedy, gdy cały plik jest identyczny. Jeśli nagłówki (EXIF, ID3,…) lub metadane (właściciel) różnią się, nie zostaną połączone.
Jeśli masz szansę na użycie systemu plików z obsługą deduplikacji bloków (ZFS, btrfs,…), użyj tego zamiast tego. Bardzo lubię obsługę deduplikacji offline (aka wsadowej ) btrfs, która obsługuje deduplikację na poziomie zasięgu i nie zużywa stale dużej ilości pamięci (jak deduplikacja online ZFS).
Zaletą deduplikacji jest to, że użytkownik może modyfikować pliki bez zauważania innych kopii (co może nie mieć zastosowania w twoim przypadku, ale w innych).
Doskonałą dyskusję znajdziesz na https://btrfs.wiki.kernel.org/index.php/Deduplication .
źródło