Kopiowanie wielu plików bez zatrzymywania się na błędach w OSX

16

Muszę skopiować kilka GB z zewnętrznego HD na mój jęk HD, a niektóre pliki spowodują błędy. Jeśli zrobię to za pomocą wyszukiwarki, zatrzyma się przy pierwszym błędzie.

Czy istnieje sposób na skopiowanie wszystkiego bez względu na błędy? Coś jak kopia terakopii w systemie Windows?

cfischer
źródło
Cóż, jeśli wystąpi błąd, prawdopodobnie nie chcesz skopiować tego pliku. A może po prostu chcesz pominąć te, w których występuje błąd? Właściwie lepsze pytanie brzmi: dlaczego otrzymujesz te błędy? Jakie to są błędy?
slhck,
Chcę skopiować wszystkie inne pliki i obsłużyć błędy, niezależnie od tego, jakie będą później.
cfischer,
Jakie konkretnie błędy się pojawiają?
slhck,
1
Mam nadzieję, że dodają funkcję Windows Vista + do wyszukiwarki i kontynuują kopiowanie, ostrzegając o błędach.
Matthew Lock

Odpowiedzi:

21

W terminalu wpisz

cp -Rp /Volumes/<source-volume>/<source-user>/<source-folder>/ /Volumes/<destination-volume>/<destination-folder>/

Folderem docelowym powinien być nowy folder, który tworzysz.

Jeśli po uruchomieniu tego otrzymasz informacje o nowym folderze, możesz zobaczyć wzrost rozmiaru folderu.

Przykład

cp -Rp /Volumes/Macintosh HD/User/Bob/Desktop/stufftocopy/ /Volumes/external/newfolder

Skopiuje i wyświetli błędy dla wszystkiego, czego nie może skopiować, ale bez zatrzymania.

* Jeśli nazwy katalogów zawierają spacje, wstaw cudzysłowy wokół ścieżki

Przykład

cp -Rp "/Volumes/Macintosh HD/User/Bob/Desktop/stufftocopy/" /Volumes/external/newfolder
falcorklaatu
źródło
2
jakieś wyjaśnienia na temat flagi -Rp?
user337085
To musi być inne dla osx, na linux -Rp oznacza ponowne użycie i zachowanie atrybutów, nie ma nic wspólnego z błędami.
Benubird,
1
man cpw systemie macOS mówi mi: „W trybie -R procesor będzie kontynuował kopiowanie, nawet jeśli zostaną wykryte błędy”.
adriaan
2

Możesz użyć cpzgodnie z sugestią lub rsync, ale w przypadku błędu wejścia / wyjścia czasami to nie działa.

W takim przypadku możesz użyć ddnarzędzia do określonych plików, które zostały uszkodzone.

ddoznacza „duplikację dysku”. Jest to narzędzie wiersza polecenia dołączone do systemu Mac OS X. Dostępna jest również darmowa wersja dla systemu Windows.

Zachowaj szczególną ostrożność, nawet jeśli znasz linię poleceń, ponieważ dd może spowodować nieodwracalne uszkodzenie danych, jeśli nie określisz poprawnie danych wejściowych i wyjściowych. Zostałeś ostrzeżony.

Argumenty dd są proste:

  • if = ścieżka_pliku z błędami_IO określa ścieżkę wejściową
  • of = ścieżka_oczyszczenia_kopii_do_tworzenia określa ścieżkę wyjściową
  • conv = noerror, sync mówi dd, aby był odporny na uszkodzenia

Ścieżka wyjściowa nie powinna znajdować się na tym samym dysku co uszkodzony plik. W rzeczywistości nie powinieneś dalej używać karty lub dysku z błędami We / Wy, ponieważ może to spowodować więcej problemów w przyszłości. Po odzyskaniu danych należy je zeskrobać lub co najwyżej wykorzystać do przechowywania nieistotnych rzeczy.

Z powodu błędów we / wy dd może utworzyć więcej czasu niż zwykła kopia.

Ale naprawdę warto poczekać, ponieważ teraz mamy czysty plik, na którym możemy korzystać z naszego arsenału narzędzi diagnostycznych, podglądu i odzyskiwania wideo.

Błędy we / wy to poważna sprawa, a złomowanie karty po odzyskaniu filmów jest prawdopodobnie WŁAŚCIWĄ RZECZĄ. Należy również wziąć pod uwagę, że pewna ilość nagrań nie zostanie odzyskana lub jakość będzie mniej niż gwiezdna.

Źródło: http://aeroquartet.com/wordpress/2012/06/06/how-to-copy-a-file-with-io-errors/

Przykład:

dd if=/Volumes/CD/broken_movie.avi of=~/Movies/broken_movie.avi conv=noerror,sync

Zobacz też:

kenorb
źródło
1
Słyszałem, że autorzy dd chcieli go nazwać cc, na kopię, ale cc został już pobrany przez kompilator C. Podoba mi się to bardziej niż „duplikacja dysku”
Tim
1

Używam Beyond Compare właśnie do tego celu (jest to oprogramowanie komercyjne, ale ma bezpłatną wersję próbną). Nakazuje mu się skopiować plik, folder lub cały dysk lub dowolną kombinację, a kończy się ono do końca zadania i zgłasza problemy. To nie pomaga odzyskać uszkodzonych plików, ale zakończy zadanie bez względu na liczbę napotkanych problemów.

Tim D.
źródło