No que diz respeito a rsync
, você está copiando entre duas árvores de arquivos locais, portanto, desativa a maioria de suas otimizações (incluindo seu algoritmo delta pelo qual é famoso). Se você puder executar um rsync
em seu servidor remoto (para obter um verdadeiro cenário de cliente-servidor em sua rede), obterá uma quantidade significativa de tração.
No entanto, aqui estão outras opções para considerar
-
Copiando sem se preocupar com a exclusão de arquivos antigos. Isso pode permitir que você realize uma transferência mais rápida com mais frequência e relegar a limpeza mais lenta para dizer, apenas uma vez por dia:
cp -au /mnt/ROUTER_WD_2TB/. /mnt/BACKUP_HITACHI_2TB/
-
Use uma variação do algoritmo de exclusão padrão de
rsync
para evitar a criação de uma lista completa de arquivos antes da transferência:rsync -haAXi --quiet --delete --delete-during /mnt/ROUTER_WD_2TB/ /mnt/BACKUP_HITACHI_2TB/
-
Divida os diretórios de nível superior em tarefas separadas e execute-as em paralelo. Você pode achar que, se você for ligado a IO em disco, isso não ajudará muito, e, para girar pratos, isso certamente piorará as coisas.
for d in /mnt/ROUTER_WD_2TB/* do rsync -haAXi --quiet --delete --delete-during "$d" /mnt/BACKUP_HITACHI_2TB/ >"/tmp/rsync.${d/*\/}.log" 2>&1 & done wait cat /tmp/rsync.*.log rm -f /tmp/rsync.*.log
Se nenhuma dessas sugestões ajudar, valeria a pena adicionar outro --verbose
a rsync
para ver o que está fazendo. Eu suspeito que ele esteja passando por todos os arquivos inalterados, e se você tiver arquivos suficientes, isso leva muito tempo.