Po skopiowaniu powiedz ponad 50 GB (30 000 plików, w tym różne formaty) plików z wewnętrznego dysku twardego na dysk zewnętrzny, czy jest jakiś sposób, aby sprawdzić, czy wszystko zostało poprawnie skopiowane? Czy jeśli zatrzymam się w międzyczasie, anulując operację, a później powiesz scalenie podczas kontynuowania operacji, czy poprawność odniesie trafienie?
Mógłbym korzystać z aplikacji takich jak, back-in-time
ale jestem bardzo wybredny w kopiowaniu plików i następnym razem zamierzam użyć copy
operacji i powiedzieć merge
zamiast replace
. Czy wskazane jest kopiowanie dużej liczby plików?
Odpowiedzi:
Korzystam z funkcji hashdeep w celu weryfikacji kopii zapasowych / przywracania, a czasami w celu sprawdzenia, czy system plików nie jest uszkodzony w macierzy RAID.
Szybkość zależy od używanych funkcji skrótu (niektóre z nich wymagają więcej procesora niż inne), a także od prędkości odczytu dysków. W moim systemie
hashdeep
można przetwarzać lub weryfikować około 1 TB / godzinę przy prędkości odczytu md5 i 300 MB / s.Przykład obliczania sum kontrolnych i przechowywania ich w pliku:
Parametry:
r
- rekurencyjnyl
- stosować ścieżki względnec
- określ funkcję skrótu.
- rekurencyjne rozpoczynanie od bieżącego katalogu>
- przekieruj wyjście do określonego plikuZobacz stronę manuala .
Przykład weryfikacji sum kontrolnych i wydrukowania listy różnic:
Parametry:
a
- audyt (porównaj z listą znanych sum kontrolnych)v
- pełne (aby uzyskać listę niezgodności, wielokrotnośćv
s oznacza więcej szczegółowych)k
- plik znanych skrótówPamiętaj, że od marca 2016 r.
hashdeep
Wydaje się być porzucony .źródło
Wygląda na idealne zadanie dla rsync . Rsync porównuje i kopiuje różnice.
rsync
Narzędzie pierwszy wpadł mi do głowy, kiedy zobaczyłem swoje pytanie. Wykonanie czegoś takiego jak poniżej może szybko pokazać, które pliki znajdują się w katalogu,a
ale nie wb
:Jest to dobra opcja, ponieważ możesz również porównać zawartość plików, aby upewnić się, że pasują do siebie.
rsync
Algorytm delta jest zoptymalizowany dla tego typu przypadków użycia. Następnie, jeśli chceszb
dopasować zawartośća
, możesz po prostu usunąć-n
opcję wykonania faktycznej synchronizacji.Niektóre powiązane pytania:
źródło
Jeśli zasugerowano aplikacje GUI w narzędziu do porównywania plików i katalogów? nie rób tego za siebie, spróbuj
diff -rq /path/to/one /path/to/other
po cichu przeszukiwać oba katalogi, rejestrując tylko różnice na ekranie.źródło
Sytuacja, o której mówisz, jest zbyt skomplikowana. Możesz napisać skrypt do obliczenia MD5 wszystkich plików, które chcesz skopiować, a następnie porównać je z skopiowanymi:
Jeśli chcesz czegoś prostego i szybkiego (nie zadziała to w bardzo skomplikowanych scenariuszach), możesz użyć Meld
źródło
W „jeśli wszystko zostało poprawnie skopiowane”, używam zmodyfikowanego cp (lub mv), który zawiera sumowanie kontrolne (opcjonalnie przechowywane w xattr, dlatego należy to obliczyć tylko raz dla źródła) http://sourceforge.net/projects / crcsum /
źródło
crccp
! ;-) Zawsze możesz zostawić link w dolnej części odpowiedzi jako źródło materiału ...