Come copio 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 /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 stia avendo problemi con collegamenti simbolici come il /Volumes/MacHDvolume che ha anche un /Volumes/MacHDe /Volumes/MyBackupnon sono sicuro di questo comunque.

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


2
Usi cp in questo modo, ma non è lo strumento giusto per il lavoro. Hai bisogno di rsync per questo.
Cugina Cocaina,

1
Hai la possibilità di eseguire il tuo mac in modalità disco di destinazione? O forse fai uscire l'HD?
Cugina Cocaina,

Non riesco a utilizzare la modalità di destinazione poiché non ho un secondo mac. Speravo in un'opzione meno rischiosa rispetto a togliere l'unità.
ermSO

rsync è probabilmente l'opzione migliore qui, anche se penso che puoi anche usare ddper creare un byte per la copia byte dell'HDD del tuo Mac.
thibmaek,

1
ddè la strada da percorrere per i backup settore per settore, che sembra quello che stai facendo qui (ma fai molta attenzione, per assicurarti che la cosa che stai sovrascrivendo sia effettivamente la cosa che vuoi sovrascrivere). rsyncè la strada da percorrere per eseguire operazioni di copia complesse o di grandi dimensioni. cpè ottimo per i singoli file, ma non è buono per operazioni su larga scala.
Pas

Risposte:


25

Utilizzare rsynca questo scopo poiché cpnon è possibile riprodurre fedelmente tutti i file presenti su OS X. I vantaggi di rsyncover dittoe cpsono:

  • i trasferimenti interrotti possono essere riavviati facilmente con costi molto bassi.
  • riavvia anche riprendere in parte attraverso un file di grandi dimensioni.
  • l'esclusione dei file e --dry-run consentono un test semplice e un diradamento iterativo.

Il modo più semplice di usare rsynce conservare la maggior parte delle cose (permessi, collegamenti simbolici, date di modifica, ecc.) È usare il flag -ao --archiveper 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 barra finale nel file /to posizione.

vedere i commenti per bandiere più utili


6
Vuoi anche il flag -x, per evitare di attraversare dischi montati che non sono sullo stesso volume.
Kent,

kudo è per bmike per aver reso questo post molto più leggibile.
CousinCocaine,

2
-Pè in realtà equivalente a entrambi --progresse --partialcombinati. Vedi la pagina man .
Kirb,

1
Salterei --compress(è utile solo per i trasferimenti di rete) e aggiungerei -E(preservare attributi estesi e fork di risorse).
Gordon Davisson,

5

Se vuoi fare una copia fedele del contenuto del filesystem, evita di usarlo cp. Utilizzare invece il ditto(1)comando, che conserva collegamenti, permessi dei file, fork di risorse e metadati HFS. Diversamente cp, dittoper impostazione predefinita si intende preservare quante più informazioni possibili.

È solo una questione di corsa .sudo ditto src dest


Correggimi se sbaglio, ma sono abbastanza sicuro che sia cpstato aggiornato per copiare i metadati del file in 10.4.
NobodyNada - Ripristina Monica il

Lo era, ma dittoè ancora un'opzione migliore.
juandesant,

1
Ed rsyncè l'opzione migliore.
Cugina Cocaina,

2

Hai dimenticato di creare un elenco di file di esclusione e probabilmente stai copiando cose che non possono / non dovrebbero 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 rsync regolarmente, ma le impostazioni necessarie per copiare un sistema operativo in esecuzione sono sufficientemente complesse, non mi sono mai preso la briga di fare tutto da solo.

 cp -Rpvn /* /Volumes/MyBackup 

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


Non riesco ad accedere a una GUI. Tutto quello che riesco a far funzionare è la modalità utente singolo, quindi CCC, superduper e macchina del tempo non sono opzioni. Quali impostazioni useresti con rsync? Idealmente, vorrei una copia di avvio. Non sono riuscito a far funzionare asr.
ermSO

1
@ermSO Dato che ovviamente hai un'unità esterna, installa un nuovo sistema operativo sull'esterno e quindi avvialo da esso. Tutti i Mac attuali possono essere avviati da firewire o USB. È quindi possibile effettuare un backup decente dei file utente e quindi riparare l'unità interna. Di solito faccio una cancellazione completa in questi casi, eliminando eventuali problemi di directory residua.
paul

ddeseguirà copie settore per settore sulla riga di comando ed è una buona scelta per copiare un intero volume su un altro intero volume mentre si cancella l'intero secondo volume.
Pas

Sei sicuro di voler l' -Ropzione? Ciò significa che se si dispone di collegamenti simbolici a una singola cartella in più punti, si duplicherà il contenuto. Questo potrebbe spiegare il tempo impiegato. Se dittoinvece lo usi , otterrai ciò che desideri con le impostazioni predefinite.
juandesant,

1
@juandesant è il suo comando, non il mio. non userei affatto cp.
paul

0

Puoi creare un backup di Time Machine dalla riga di comando con tmutill'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 avviare il backup:

tmutil startbackup --auto

Il --autoflag proverà a trattarlo come un normale backup programmato.

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

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.