Kopię zapasową wszystkich moich zdjęć cyfrowych wykonuję w kilku miejscach. Korzystałem z polecenia cp, ale - biorąc pod uwagę osobistą wartość - zacząłem się zastanawiać, czy istnieje bardziej niezawodny sposób. Nie jestem obcy Linuksowi, Bashowi, Perlowi itp., Więc mogłem napisać coś do skopiowania i porównania skrótów md5, ale zastanawiałem się, czy coś już istnieje (ponowne wymyślenie, koła i co nie).
Większość moich googlingów na kopiowanie i (weryfikacja | poprawność | kontrola | skrót | potwierdzenie) pojawia się w rsync. Jednak, o ile wiem, rsync używa tylko skrótów, aby sprawdzić, czy plik wymaga aktualizacji. Później nie wykonuje porównania skrótów.
W tym celu w szczególności pliki są binarne i zwykle mają 8–10 MB. Wszelkie zalecenia dotyczące narzędzi lub wskazówek dotyczących rozwiązań dla majsterkowiczów byłyby bardzo mile widziane.
Odpowiedzi:
Od
man rsync
, w-c
opcji:-c, --checksum: pomiń w oparciu o sumę kontrolną, a nie mod-time i rozmiar
źródło
Kilka lat temu miałem takie same wymagania jak ty. Rozwiązaniem, które wybrałem, było użycie ZFS poprzez sterownik ZFS-FUSE na moim serwerze pamięci. Myślałem, że moje osobiste zdjęcia, zeskanowane dokumenty i inne podobne pliki to rzeczy, do których mogę uzyskać dostęp tylko sporadycznie, więc może minąć bardzo dużo czasu, powiedzmy rok lub dłużej, zanim zauważę, że plik został uszkodzony z powodu błąd napędu lub podobny.
Do tego czasu wszystkie posiadane przeze mnie kopie zapasowe mogą być tą zgniłą wersją plików.
ZFS ma przewagę nad RAID-5, ponieważ może wykrywać i naprawiać błędy w danych przechowywanych na poszczególnych dyskach, nawet jeśli napędy nie zgłaszają błędu odczytu podczas odczytu danych. Za pomocą sum kontrolnych wykryje, że jeden z dysków zwrócił uszkodzone informacje i użyje danych nadmiarowości do naprawy tego dysku.
Ze względu na sposób, w jaki zaprojektowano sumowanie kontrolne w ZFS, czułem, że mogę na nim polegać, aby przechowywać rzadko używane dane przez długi czas. Co tydzień uruchamiam „peeling zpool”, który przechodzi i ponownie odczytuje wszystkie dane i weryfikuje sumy kontrolne.
ZFS-FUSE radził sobie całkiem dobrze w ciągu ostatnich kilku lat.
W odległej przeszłości dla klienta wdrożyłem system bazy danych, który przechowywał informacje o sumie kontrolnej wszystkich plików przechowywanych w określonym katalogu. Miałem wtedy inny skrypt, który uruchamiałby się okresowo i sprawdzał plik z sumą kontrolną przechowywaną w bazie danych. Dzięki temu możemy szybko wykryć uszkodzony plik i przywrócić go z kopii zapasowych. Zasadniczo wdrażaliśmy te same rodzaje kontroli, które ZFS wykonuje wewnętrznie.
źródło
https://sourceforge.net/projects/crcsum/ Rozszerza procesor Linux mp i mv z weryfikacją sumy kontrolnej
źródło
Znalazłem to narzędzie (Linux i Windows), które robi dokładnie to, co chcesz (kopia z haszowaniem + weryfikacja z logami): http://sourceforge.net/projects/quickhash/
Jedynym minusem jest to, że istnieje tylko jako GUI (brak dostępu do wiersza poleceń)
źródło
jeśli kopiujesz plik lokalnie (jak sugeruje to odwołanie do
cp
zamiastscp
itp.), to tylkocmp
pliki źródłowe i docelowe ... ale realistycznie, jeślicp
nie powoduje jakiegoś błędu (w wierszu polecenia lub w wartość zwracana wykonania), nie ma powodu, aby sądzić, że nie działa.jeśli naprawdę chcesz legalnie nadmiarowej kopii zapasowej, rozważ zdalne rozwiązanie, takie jak dropbox .
źródło