Primeiro - o número de arquivos nesse caso será um fator importante. É um tamanho médio de 3 MB cada. Provavelmente há um gargalo de io influenciando a velocidade no caso do OP. Mais aqui - é uma leitura bastante seca, mas a imagem da capa vale a pena.
Então, usando o rsync para copiar para um diretório vazio? Aqui estão algumas maneiras de acelerar:
- Não -z - definitivamente não use -z como no OP.
- --no-compress pode acelerar você. Isso pode ter o maior impacto ... meu teste foi de 13.000 arquivos, tamanho total de 200MB e usando o rsync 3.1.3. Sincronizei com uma partição diferente na mesma unidade SSD interna. Com --no-compress, recebo 18 MBps, e sem ele, 15 MBps. cp, a propósito, recebe 16 MBps. Esse é um tamanho médio de arquivo muito menor. Além disso - não consigo encontrar nenhuma documentação para --no-compress. Eu aprendi sobre isso neste post no stackexchange.com.
- -W para copiar arquivos inteiros - sempre use isso se você não quiser comparar diferenças; não importa que o objetivo do rsync seja comparar diferenças e atualizar apenas as alterações.
- -S para lidar bem com arquivos esparsos - não machucará se você não tiver arquivos esparsos.
- --exclude-from ou algo semelhante para excluir arquivos desnecessários reduzirá o tempo, mas não aumentará sua velocidade de transferência.
- É possível se você enviar a saída para um arquivo como este
rsync -a /source /destination >/somewhere/rsync.out 2>/somewhere/rsync.err
- o primeiro> basicamente imprime um arquivo com todas as coisas que você normalmente veria, e o 2> se refere a mensagens de erro.
- Por fim, executar várias instâncias do rsync para diferentes partes da sua transferência pode ser uma grande ajuda.
Meu comando seria:
rsync -avAXEWSlHh /source /destination --no-compress --info=progress2 --dry-run
Se tudo parecesse bem, eu excluiria "--dry-run" e deixaria para lá. A, X e E cobrem atributos e permissões estendidos não cobertos por -a, l é para links flexíveis, H é para links físicos e h é legível por humanos.
A atualização de um diretório já sincronizado em uma unidade USB, ou a mesma unidade ou em uma rede, exigirá diferentes comandos rsync para maximizar a velocidade de transferência.
Bônus - aqui está a página de manual do rsync , e se você quiser testar a velocidade do seu disco rígido, o bonnie ++ é uma boa opção e, para a velocidade da sua rede, tente o iperf .
* A publicação tem quase dez anos, mas os mecanismos de pesquisa certamente gostam, e eu continuo vendo. É uma boa pergunta, e não acho que a resposta principal para "como acelerar o rsync" seja "use cp".