Como mesclar duas pastas semelhantes, mas não idênticas?

11

Eu tenho uma pasta (que é preenchida com muitas subpastas e arquivos) que está em uma unidade FireWire [origem] que estou tentando mover para uma unidade USB [destino].

Estou tentando mover todos os arquivos da fonte para o destino.

Comecei a fazê-lo através do Finder, mas ele me deu um erro de permissão em 1/8 do processo e parou.

Ao mover arquivos entre unidades, acredito que o Finder primeiro faça uma 'cópia' e depois remova a 'fonte' somente quando o comando de cópia for concluído com êxito.

Isso significa que alguns arquivos foram copiados com êxito, mas não tenho idéia de quais ou quantos. Então comecei a copiar subpastas da Origem para o Destino (conjuntos menores) e as removi da Origem quando elas foram copiadas com êxito.

Acabei não conseguindo concluir esse processo de uma só vez e perdi meu "lugar"

Então agora estou com dois conjuntos de dados incompletos. A fonte provavelmente possui alguns arquivos / pastas que já estão no destino, mas nem tudo foi copiado.

Algumas das pastas podem ter sido parcialmente copiadas, mas nem todas as subpastas, etc.

Estou tentando descobrir a melhor maneira de mover o restante da origem para o destino, minimizando a duplicação. Estamos falando de muitos dados aqui (a origem é 420,72 GB em 398.127 itens e o destino é 298,84 GB e 390.149 itens), portanto, obviamente, vou ter que tentar automatizar isso de alguma forma . Só não sei como.

Eu pensei sobre o gcp[GNU cp] com --update --archiveou dittoou rsyncou o ChronoSync, mas não sei qual é a melhor opção e quais configurações devo usar para o programa que for recomendado (eu quero --archivecom gcp? Com ​​quais sinalizadores eu usaria dittoou rsync?)

TJ Luoma
fonte
Este software é incrível: bombich.com (Carbon Copy Cloner). Resolve todos os seus problemas.
Kassym Dorsel
O CCC ou o SuperDuper só me ajudará a duplicar o que tenho, certo? Eu preciso mesclá-los primeiro.
TJ Luoma
Pode mesclar. Você precisará ajustar as configurações por conta própria. ou seja, personalizar essas configurações / configurações avançadas
Kassym Dorsel
Ah ... eu não sabia disso. Definitivamente vai dar uma olhada.
TJ Luoma

Respostas:

15

Você pode abrir o Terminal e usar um dos seguintes (o rsync provavelmente seria o ideal para você, se você quiser algo que não será completamente perdido se você interromper o processo ):

A maneira UNIX padrão

cp -R -v source/. destination

A maneira nerd do UNIX (reinicializável)

rsync -vaEW source/ destination

A maneira "fácil" do OSX

ditto -V source destination

Fonte


fonte
11
Esse comando 'cp' não quebraria os soft links? Por exemplo, os aplicativos Mac às vezes parecem usar links dentro do invólucro .app. (Os links sempre são os grandes desconhecidos para mim ao tentar fazer isso.) Bom argumento sobre o rsync, esse pode ser o melhor plano, já que (com tantos dados) a possibilidade de interrupção é significativa.
TJ Luoma
1

Se você usar o FileMerge das Ferramentas do desenvolvedor nas duas árvores de diretórios, poderá ver quais arquivos individuais foram copiados, pois isso fará uma diferença entre eles e mostrará as diferenças.

Caso contrário, rsyncpode ser um pouco mais automatizado, como mencionado acima pelo cksum.

SJT
fonte