Uso o rsync 3.1.1 para sincronizar dois discos, um dos quais está na rede e montado como um compartilhamento de samba /mnt/ROUTER_WD_2TB/
. Esta é a fonte, com uma velocidade máxima de 30-40MB / s devido a limitações de rede. O outro, o destino, é montado localmente (pico de 110 MB / s) e é /mnt/BACKUP_HITACHI_2TB/
.
Eu uso o seguinte comando rsync:
rsync -haAXi --quiet --append-verify --delete /mnt/ROUTER_WD_2TB/* /mnt/BACKUP_HITACHI_2TB/.
Os discos contêm muitos arquivos, a maioria pequenos.
O problema é que o rsync leva bastante tempo (10-20m) antes de começar a mover os arquivos, eu acho, porque ele precisa calcular as listas de arquivos para um número muito grande de arquivos pequenos. Durante esse período, a utilização do newtwork fica entre 200 e 500 KB / s, enquanto na transferência de arquivos a velocidade é de aproximadamente 40 MB / s.
Geralmente, o rsync leva cerca de 15m para finalmente encontrar algo que precisa copiar, leva 5 segundos para copiá-lo e continua a procurar outros arquivos para copiar por mais 5 minutos. Em suma, uma cópia de arquivo de 5 segundos acaba durando 20 minutos!
Existe alguma medida que eu possa tomar para evitar esse longo período antes de copiar os arquivos, além de excluir pastas? Qualquer tipo de "cache" que eu possa implementar para que o rsync não precise reconstruir toda a lista de arquivos do zero?