Copiando pasta para múltiplos destinos em paralelo [duplicado]

0

Eu tenho que transferir cerca de 250GB de dados de um Master Drive para um monte de drives USB, todos de tamanho e marca idênticos. Quando copio usando a GUI no Mac OSX, ele aguarda para copiar todos os arquivos para uma unidade e copia os mesmos arquivos para a unidade 2.

Existe uma maneira de copiar os arquivos de modo que cada arquivo / bit seja lido apenas uma vez e depois escrito várias vezes? Isso presumivelmente seria mais rápido do que ler os mesmos dados repetidas vezes. Eu já vi essa pergunta antes, mas não consegui entender como funcionavam os comandos do terminal.

Só para você saber, eu tenho muito pouca experiência com terminais, então, se alguém tiver algum código excelente, eles poderiam explicar como eu ajustaria o trabalho para mim?

Muito obrigado

James

    
por James Harding 12.04.2016 / 13:49

2 respostas

1

Eu sei pouco sobre o Mac OSX, ainda acredito que suas ferramentas padrão são semelhantes às do Linux.

Se fosse para Linux / Bash, eu tentaria:

tar -c /source/dirA/ /source/file1 | tee >(cd /foo/destination3/ && tar -x) >(cd /bar/destination2/ && tar -x) >(cd /foobar/destination1/ && tar -x) > /dev/null

Todo destino receberá dirA/ e file1 . Você pode fornecer mais argumentos ao primeiro tar (diretórios ou arquivos). Para adicionar outro destino, basta colocar o argumento tee adicional de maneira semelhante.

Como isso funciona? Primeiro tar converte diretórios e arquivos em um único fluxo de bits que pode ser usado em um pipe. O comando tee bifurca esse fluxo; cada cópia, exceto uma, é extraída por tar no destino correto. A última cópia se move pelo cano; é descartado em /dev/null . (Pode-se usar a última cópia para destination0 , mas a sintaxe seria diferente, então decidi mantê-la simples com tee apenas).

O código é um ponto de partida. Você pode precisar ajustá-lo para trabalhar com o OSX.

    
por 12.04.2016 / 15:04
0

Depois de arranhar um pouco a cabeça, meu chefe me lembrou que o software gratuito Davinci Resolve (um aplicativo de gradação de cores) agora inclui algumas instalações de manipulação de dados. Isso permite que você selecione uma pasta de origem, vários destinos e copie cada arquivo simultaneamente para cada unidade com uma única leitura e várias gravações.

Eu confirmei isso por meio do monitor de atividade que mostrou que os dados gravados por segundo eram três vezes maiores que a leitura, e eu estava gravando em três unidades

link

    
por 13.04.2016 / 14:20