Copia di molti file senza interrompere errori su OSX


16

Ho bisogno di copiare diversi GB da un HD esterno sul mio gemito hd e alcuni file causeranno errori. Se lo faccio con il finder, si fermerà al primo errore.

C'è un modo per copiare tutto, indipendentemente dagli errori? Qualcosa come la copia di teracopy in Windows?


Bene, se si verifica un errore, probabilmente non vuoi copiare quel file. O vuoi semplicemente saltare quelli in cui si verifica un errore? E, in realtà, la domanda migliore sarebbe: perché ricevi questi errori? Di quali errori si tratta, anche?
slhck,

Voglio copiare tutti gli altri file e gestire gli errori, qualunque essi siano in seguito.
cfischer,

Quali errori stai ricevendo nello specifico?
slhck,

1
Spero che aggiungano la funzionalità di Windows Vista + al finder e continuino a copiare mentre avvertono di errori.
Matthew Lock,

Risposte:


20

Nel terminale, digitare

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

La cartella di destinazione dovrebbe essere una nuova cartella che stai creando.

Se ottieni informazioni sulla nuova cartella dopo averlo eseguito, puoi vedere aumentare le dimensioni della cartella.

Esempio

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

Copierà e visualizzerà gli errori per tutto ciò che non può copiare ma senza fermarsi.

* Se i nomi delle tue directory contengono spazi, inserisci delle virgolette attorno al percorso

Esempio

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

2
qualche spiegazione su -Rp flag?
user337085

Questo deve essere diverso per osx, su Linux -Rp significa recruse e preservare gli attributi, nulla a che fare con gli errori.
Benubird,

1
man cpsu macOS mi dice: "In modalità -R, cp continuerà a copiare anche se vengono rilevati errori".
adriaan,

2

È possibile utilizzare cpcome suggerito o rsync, ma in caso di errore I / O a volte non funziona.

Quindi, in questo caso, è possibile utilizzare lo ddstrumento per file specifici che sono stati danneggiati.

ddsta per "duplicazione del disco". Questa è un'utilità della riga di comando inclusa in Mac OS X. È disponibile anche una versione gratuita per Windows.

Fai molta attenzione, anche se hai familiarità con la riga di comando, perché dd può causare danni irreversibili ai tuoi dati se non specifichi correttamente input e output. Sei stato avvertito.

Gli argomenti di dd sono semplici:

  • if = path_of_file_with_IO_errors specifica il percorso di input
  • of = path_of_clean_copy_to_create specifica il percorso di output
  • conv = noerror, sync dice a dd di essere tollerante ai guasti

Il percorso di output non deve trovarsi sullo stesso disco del file danneggiato. In realtà, non dovresti continuare a utilizzare la scheda o il disco con errori I / O, perché probabilmente causerà ulteriori problemi in futuro. Dopo il recupero dei dati, è necessario eliminarli o utilizzarli al massimo per archiviare elementi non importanti.

A causa di errori I / O, dd può impiegare più tempo a creare la copia pulita di una normale copia.

Ma vale davvero la pena aspettare, perché ora abbiamo un file pulito su cui possiamo usare il nostro arsenale di strumenti di diagnostica, anteprima e recupero video.

Gli errori di I / O sono una faccenda seria e scartare la scheda dopo aver recuperato i video è probabilmente LA COSA GIUSTA DA FARE. Dovresti anche considerare che una certa quantità di filmati non verrà recuperata o con una qualità tutt'altro che stellare.

Fonte: http://aeroquartet.com/wordpress/2012/06/06/how-to-copy-a-file-with-io-errors/

Esempio:

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

Guarda anche:


1
Ho sentito che gli autori di dd volevano chiamarlo cc, per copia carbone, ma cc era già stato preso dal compilatore C. Mi piace di più della "duplicazione del disco"
Tim

1

Uso Beyond Compare esattamente per questo scopo (è un software commerciale ma ha una prova gratuita). Gli dici di copiare un file, una cartella o un'intera unità o qualsiasi combinazione e termina alla fine dell'attività e segnala i problemi mentre procede. Questo non aiuta a recuperare file danneggiati, ma finirà il lavoro indipendentemente da quanti problemi si verificano.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.