Cópia simultânea para HDD externo [duplicado]

0

Eu tenho uma pasta no meu disco rígido interno. Eu preciso copiar a pasta para vários discos rígidos externos. Se a cópia puder acontecer simultaneamente, isso me ajudará a ganhar tempo.

O nome da pasta é "AllFiles" A pasta está localizada na raiz do HDD interno. / AllFiles

Não para copiá-lo para / dev / sdb, / dev / sdc e / dev / sdd

Eu vi algumas linhas de comando usando cat e tee. Não foi possível testar porque era específico e o destino era uma pasta de rede.

Alguém pode ajudar?

Agradecemos antecipadamente

Arnaud

    
por Arnaud 16.10.2017 / 11:01

2 respostas

0

A maneira de resolver isso depende do seu objetivo exato .

Usar o TEE não seria de muita ajuda aqui - o tee permite que você tire o stdout e divida-o em dois, embora ele possa ser forçado a fazer seus lances colocando cada arquivo no tee.

A maneira mais simples de fazer isso seria simplesmente montar cada unidade e iniciar 3 cópias (você pode fazer isso em 3 terminais, ou você poderia emitir o mesmo comando 3 vezes, com um & após cada para colocá-lo no fundo). Isso vai pregar IO na parede.

Se as unidades não precisarem ser removidas e precisarem de informações idênticas, eu pegue os 3 drives e crie um array RAID1 (ou seja, 3 cópias dos mesmos dados) usando o mdadm . Eu criaria um sistema de arquivos no RAID, montaria o array e faria a cópia. Isso significará menos leituras (talvez) e menor sobrecarga de gravação no disco - mas um pouco de configuração. (Sim, você pode então pegar um disco individual e montá-lo sem que ele faça parte do array)

    
por 16.10.2017 / 11:14
0

Sim, você pode copiar um arquivo para vários destinos usando cat e tee:

cat source.dat | tee copy1.dat | tee copy2.dat >copy3.dat 

Ou para ser mais simétrico:

cat source.dat | tee copy1.dat | tee copy2.dat | tee copy3.dat >/dev/null

Na prática, você colocaria a linha acima em um script curto que usa o arquivo de origem como parâmetro e chama esse script em um comando de localização:

find $directory_to_be_copied -type f -exec copy_multiple {} \;

Mas, se você salvar as leituras do disco, provavelmente terá problemas de largura de banda de E / S.

    
por 16.10.2017 / 11:41