Come faccio a copiare un volume Mac usando cp?

13

Ho studiato questo per ore. In modalità utente singolo, ho usato:

cp -Rpvn /* /Volumes/MyBackup

La mia USB esterna è montata su /Volumes/MyBackup

Il problema tuttavia è che dopo 24 ore non ha ancora smesso di copiare 300 GB di dati su un'unità USB esterna. Penso che abbia problemi con link simbolici come il /Volumes/MacHD volume che ha anche /Volumes/MacHD e /Volumes/MyBackup Non sono sicuro di questo comunque.

Come faccio a copiare un volume Mac usando cp ? cp -Rpvn /* /Volumes/ MyBackup è corretto?

    
posta ermSO 25.04.2015 - 00:24
fonte

4 risposte

24

Usa rsync per questo scopo poiché cp non può riprodurre fedelmente tutti i file esistenti su OS X. I vantaggi di rsync su ditto e cp sono:

  • i trasferimenti interrotti possono essere riavviati facilmente con un costo molto basso.
  • riavvia anche il ripristino parziale in un file di grandi dimensioni.
  • esclusione file e --dry-run consentono test facili e dirottamenti iterativi.

Il modo più semplice per usare rsync e preservare la maggior parte delle cose (permessi, collegamenti simbolici, date di modifica, ecc.) è usare il flag -a o --archive da archiviare. Per vedere i tuoi progressi usa -P o --progress

Rsync funziona come:

rsync options source destination

Nel tuo caso, consiglierei quanto segue:

rsync --archive --verbose --one-file-system --human-readable --progress /from/ /to

O in breve:

rsync -avxhP /from/ /to

Ricorda la mancanza di una barra finale nella posizione /to .

guarda i commenti per ulteriori utili flag

    
risposta data 25.04.2015 - 00:45
fonte
5

Se vuoi fare una copia fedele del contenuto del filesystem, evita di usare cp . Utilizza invece il comando ditto(1) , che conserva i collegamenti fisici, i permessi dei file, i fork delle risorse e i metadati HFS. A differenza di cp , ditto è inteso a conservare il maggior numero possibile di tali informazioni per impostazione predefinita.

È solo questione di eseguire sudo ditto src dest .

    
risposta data 25.04.2015 - 10:34
fonte
2

Hai dimenticato di creare un elenco di file di esclusione e probabilmente stai copiando cose che non possono / non devono essere copiate, inclusi file senza fondo come / dev / random.

Mentre cp può fare il lavoro, ci sono strumenti migliori. Rsync è uno, Carbon Copy Cloner o SuperDuper è un altro. Per usare un'analogia in cucina, stai usando un coltello per aprire una lattina. Rsync è un apriscatole, Carbon Copy Cloner è un apriscatole elettrico. Uso regolarmente rsync, ma le impostazioni necessarie per copiare un sistema operativo in esecuzione sono sufficientemente complesse. Non mi sono mai preso la briga di farlo da solo.

 cp -Rpvn /* /Volumes/MyBackup 

Sembra che tutto ciò che si vuole fare sia fare un backup. Il tuo Mac include Time Machine espressamente per questo scopo. Apri le Preferenze di Sistema - > Time Machine, scegli il disco esterno, accendilo e lascialo da solo. Funziona molto bene e richiede meno di un minuto del tuo tempo.

    
risposta data 25.04.2015 - 01:35
fonte
0

È possibile creare un backup Time Machine time dalla riga di comando con tmutil , l'utilità Time Machine. È possibile impostare una destinazione quindi ordinare un backup manuale.

Per impostare il volume di backup di Time Machine:

sudo tmutil setdestination /Volumes/MyBackup

Quindi avvia il backup:

tmutil startbackup --auto

Il flag --auto cercherà di trattarlo come un normale backup programmato per l'ora.

Una volta che hai il tuo backup di Time Machine, puoi quindi reinstallare OS X sul tuo Mac, quindi importare tutti i tuoi file dal backup di Time Machine.

    
risposta data 01.05.2015 - 15:06
fonte

Leggi altre domande sui tag