¿Cómo puedo fusionar dos carpetas similares pero no idénticas?

11

Tengo una carpeta (que está llena de muchas subcarpetas y archivos) que está en una unidad FireWire [fuente] que estoy tratando de mover a una unidad USB [destino].

Estoy tratando de mover todos los archivos del origen al destino.

Comencé a hacer esto a través del Finder, pero me dio un error de permisos aproximadamente 1/8 del proceso y luego me detuve.

Al mover archivos entre unidades, creo que el Finder primero hace una 'copia' y luego elimina la 'fuente' solo cuando el comando de copia se ha completado con éxito.

Eso significa que algunos archivos se copiaron con éxito, pero no tengo idea de cuáles o cuántos. Así que comencé a copiar subcarpetas de origen a destino (conjuntos más pequeños) y las eliminé de origen cuando se copiaron correctamente.

Terminé sin poder completar ese proceso de una sola vez, y perdí mi "lugar"

Así que ahora me quedan dos conjuntos de datos incompletos. El origen probablemente tiene algunos archivos / carpetas que ya están en el destino, pero no todo se ha copiado.

Es posible que algunas de las carpetas se hayan copiado parcialmente, pero no todas sus subcarpetas, etc.

Estoy tratando de encontrar la mejor manera de mover el resto de Source to Destination mientras minimizo la duplicación. Estamos hablando de una gran cantidad de datos aquí (el origen es 420.72 GB en 398,127 artículos, y el destino es 298.84 GB y 390,149 artículos), así que obviamente tendré que intentar automatizar esto de alguna manera . Simplemente no estoy seguro de cómo.

He pensado en gcp[GNU cp] con --update --archiveo dittoo rsynco con ChronoSync, pero no estoy seguro de cuál es la mejor opción y qué configuraciones debo usar para el programa que se recomiende (¿qué quiero --archivecon gcp? ¿Qué indicadores usaría con dittoo rsync?)

TJ Luoma
fuente
Este software es sorprendente: bombich.com (Carbon Copy Cloner). Resuelve todos tus problemas.
Kassym Dorsel
CCC o SuperDuper solo me ayudarán a duplicar lo que tengo, ¿verdad? Necesito fusionarlos primero.
TJ Luoma
Se puede fusionar. Deberá ajustar la configuración usted mismo. es decir personalizar estos ajustes / configuración avanzada
Kassym Dorsel
Ah ... no lo sabía. Definitivamente le echaré un vistazo.
TJ Luoma

Respuestas:

15

Puede abrir Terminal y usar uno de los siguientes ( rsync probablemente sería el indicado para usted si desea algo que no se perderá por completo si detiene el proceso ):

La forma estándar de UNIX

cp -R -v source/. destination

La manera geek de UNIX (reiniciable)

rsync -vaEW source/ destination

La manera "fácil" de OSX

ditto -V source destination

Fuente


fuente
1
¿No sería ese comando 'cp' romper enlaces blandos? Por ejemplo, las aplicaciones de Mac a veces parecen usar enlaces dentro del contenedor .app. (Los enlaces son siempre un gran desconocido para mí cuando intento hacer esto). Un buen punto sobre rsync, que puede ser el mejor plan ya que (con tantos datos) la posibilidad de interrupción es significativa.
TJ Luoma
1

Si usa FileMerge de las Herramientas de desarrollo en los dos árboles de directorios, podrá ver qué archivos individuales se han copiado, ya que hará una diferencia entre ellos y mostrará las diferencias.

De rsynclo contrario, podría ser un poco más automatizado como se mencionó anteriormente por cksum.

SJT
fuente