Estou sincronizando duas unidades usando rsync (cygwin) usando o seguinte comando rsync -a -H /cygdrive/e/ /cygdrive/d/
: tenho cerca de 3 TB de dados e provavelmente cerca de 1 milhão de arquivos (incluindo) links físicos. A primeira vez demorou cerca de 1-2 dias para terminar, se bem me lembro. Se eu executar novamente este comando, demorará muito, mesmo que nada seja atualizado. Demora algumas horas --- 12 horas. Isso não deveria levar muito menos tempo?
Responder1
Você está copiando entre dois locais no mesmo sistema. Isso desativa o algoritmo delta e volta rsync
a ser uma implementação sofisticada do cp -a
.
O -H
sinalizador faz com rsync
que seja necessário manter um registro de cada arquivo com mais de um link físico para que possa reconstruir os links físicos no destino. Isso aumenta o uso de memória (empiricamente, eu diria bastante), o que, por sua vez, pode aumentar a demanda do seu sistema.
Finalmente, o Cygwin rsync
é consideravelmente mais lento que uma implementação nativa do UNIX/Linux. Não determinei se isso ocorre porque ele está usando uma camada de compatibilidade no Windows ou porque o sistema de arquivos é mais lento ou mesmo por causa de algo totalmente diferente. Mas é mais lento para um conjunto idêntico de arquivos no mesmo hardware.
Responder2
Esta não é uma resposta completa, mas acho que pode ser muito valiosa para algumas pessoas que estão na mesma situação. Acabei fazendo meu rsync do Linux e funcionou sem problemas. Se você estiver tendo esse problema, tente pelo menos inicializar no Ubuntu/CentOS ou na sua distribuição Linux preferida, mesmo a partir de um CD, e veja se funciona.