Come posso unire due cartelle simili ma non identiche?


11

Ho una cartella (che è piena di molte molte sottocartelle e file) che si trova su un'unità FireWire [sorgente] che sto cercando di spostare su un'unità USB [destinazione].

Sto cercando di spostare tutti i file dalla sorgente alla destinazione.

Ho iniziato a farlo tramite Finder, ma mi ha dato un errore di autorizzazione circa 1/8 del processo e poi si è fermato.

Quando si spostano i file tra le unità, credo che il Finder prima esegua una 'copia' e quindi rimuova la 'fonte' solo quando il comando copia è stato completato con successo.

Ciò significa che alcuni file sono stati copiati correttamente, ma non ho idea di quali o quanti. Così ho iniziato a copiare le sottocartelle da Origine a Destinazione (set più piccoli) e le ho rimosse da Origine quando sono state copiate correttamente.

Ho finito per non riuscire a completare quel processo in una sola seduta e ho perso il mio "posto"

Quindi ora mi rimangono due set di dati incompleti. La fonte probabilmente ha alcuni file / cartelle che sono già sulla destinazione, ma non tutto è stato copiato.

Alcune cartelle potrebbero essere state parzialmente copiate ma non tutte le loro sottocartelle, ecc.

Sto cercando di capire il modo migliore per spostare il resto di Source in Destination minimizzando la duplicazione. Stiamo parlando di molti dati qui (la fonte è 420,72 GB in 398.127 articoli e la destinazione è 298,84 GB e 390,149 articoli), quindi ovviamente dovrò cercare di automatizzare questo in qualche modo . Non sono sicuro di come.

Ho pensato a gcp[GNU cp] con --update --archiveo o dittoo rsynco ChronoSync ma non sono sicuro di quale sia l'opzione migliore e quali impostazioni dovrei usare per qualsiasi programma sarebbe raccomandato (voglio --archivecon gcp? Quali flag dovrei usare con dittoo rsync?)


Questo software è fantastico: bombich.com (Carbon Copy Cloner). Risolve tutti i tuoi problemi.
Kassym Dorsel,

CCC o SuperDuper mi aiuteranno solo a duplicare ciò che ho, giusto? Devo prima unirli.
TJ Luoma,

Può unire. Dovrai perfezionare le impostazioni da solo. cioè personalizza queste impostazioni / impostazioni avanzate
Kassym Dorsel

Ah ... non lo sapevo. Lo verificherò sicuramente.
TJ Luoma,

Risposte:


15

Puoi aprire Terminal e utilizzare uno dei seguenti ( probabilmente rsync sarebbe quello che preferisci se vuoi qualcosa che non andrà completamente perso se interrompi il processo ):

Il modo standard UNIX

cp -R -v source/. destination

Il modo UNIX geniale (riavviabile)

rsync -vaEW source/ destination

Il modo "facile" di OSX

ditto -V source destination

fonte


1
Quel comando 'cp' non spezzerebbe i soft-link? Ad esempio, le app Mac sembrano talvolta utilizzare collegamenti all'interno del wrapper .app. (I collegamenti sono sempre il grosso ignoto per me quando provo a fare questo.) Un buon punto su rsync, potrebbe essere il piano migliore poiché (con così tanti dati) la possibilità di interruzione è significativa.
TJ Luoma,

1

Se usi FileMerge dagli Strumenti per gli sviluppatori nelle due strutture di directory, sarai in grado di vedere quali singoli file sono stati copiati poiché farà una differenza tra loro e mostrerà le differenze.

Altrimenti rsyncpotrebbe essere un po 'più automatizzato come menzionato sopra da cksum.

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.