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

9

Tengo una carpeta (que está llena de muchas subcarpetas y archivos) que se encuentra en una unidad FireWire [fuente] que intento 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 en una octava parte del proceso y luego se detuvo.

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 se copiaron correctamente, pero no tengo idea de cuáles o cuántos. Así que empecé a copiar subcarpetas de Origen a Destino (conjuntos más pequeños) y las eliminé de Origen cuando se copiaron con éxito.

Terminé sin poder completar el proceso en una sesión y perdí mi "lugar"

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

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

Estoy tratando de descubrir la mejor manera de mover el resto de Origen a Destino mientras minimiza la duplicación. Estamos hablando de una gran cantidad de datos aquí (la fuente es 420.72 GB en 398.127 elementos, y el Destino es 298.84 GB y 390.149 elementos), así que obviamente tendré que intentar automatizar este de alguna manera . Simplemente no estoy seguro de cómo.

He pensado en gcp [GNU cp] con --update --archive o ditto o rsync o ChronoSync pero no estoy seguro de cuál es la mejor opción y qué configuración debo usar para el programa que se recomiende (¿deseo --archive con gcp ? ¿Qué indicadores usaría con ditto o rsync ?)

    
pregunta TJ Luoma 17.11.2011 - 02:44

2 respuestas

13

Puedes abrir Terminal y usar una de las siguientes opciones ( rsync probablemente sea la adecuada para ti si deseas algo que no se perderá por completo si detienes el proceso ):

La forma estándar de UNIX

cp -R -v source/. destination

La forma geek de UNIX (reiniciable)

rsync -vaEW source/ destination

La forma "fácil" de OSX

ditto -V source destination

Source

    
respondido por el user10355 17.11.2011 - 02:53
1

Si usa FileMerge de las Herramientas del desarrollador 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 lo contrario, rsync podría ser un poco más automatizado, como se menciona anteriormente en cksum.

    
respondido por el SJT 19.10.2013 - 12:37

Lea otras preguntas en las etiquetas