Come posso unire due cartelle simili ma non identiche?

9

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

Sto provando a 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 è interrotto.

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

Ciò significa che alcuni file sono stati copiati con successo, ma non ho idea di quali o quanti. Così ho avviato la copia delle sottocartelle da sorgente a destinazione (serie più piccole) e le ho rimosse da Source quando sono state copiate con successo.

Ho finito per non essere in grado di completare quel processo in una sola seduta, e ho perso il mio "posto"

Quindi ora mi rimangono due set di dati incompleti. La Sorgente ha probabilmente alcuni file / cartelle che sono già in Destination, 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 to Destination riducendo al minimo la duplicazione. Stiamo parlando di molti dati qui (Source è 420.72 GB in 398.127 articoli, e Destination è 298.84 GB e 390.149 oggetti) quindi ovviamente dovrò provare ad automatizzare questo in qualche modo . Non sono sicuro di come.

Ho pensato a gcp [GNU cp] con --update --archive o ditto o rsync o ChronoSync ma non sono sicuro di quale sia l'opzione migliore e quali impostazioni dovrei utilizzare per qualsiasi programma sarebbe consigliato (desidero --archive con gcp ? Quali flag utilizzerei con ditto o rsync ?)

    
posta TJ Luoma 17.11.2011 - 02:44
fonte

2 risposte

13

Puoi aprire Terminal e utilizzare uno dei seguenti elementi ( rsync potrebbe essere quello giusto per te se vuoi qualcosa che non andrà completamente perso se interrompi il processo ):

La modalità UNIX standard

cp -R -v source/. destination

Il geniale modo UNIX (riavviabile)

rsync -vaEW source/ destination

L'OSX "facile" modo

ditto -V source destination

Source

    
risposta data 17.11.2011 - 02:53
fonte
1

Se usi FileMerge dagli Strumenti per sviluppatori sulle 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 rsync potrebbe essere un po 'più automatizzato come menzionato sopra per cksum.

    
risposta data 19.10.2013 - 12:37
fonte

Leggi altre domande sui tag