Infelizmente, a pior coisa que você pode fazer é usar rsync no NFS. (Ou para qualquer sistema de arquivos remoto instalado no sistema local.) Isso desativa quase todos os aprimoramentos de eficiência para os quais rsync é conhecido.
Para esse tanto de dados, uma das maneiras mais rápidas de transferi-lo entre os sistemas pode ser despejá-lo através de uma conexão sem criptografia sem considerar o que já estava no sistema de destino.
Depois de ter pelo menos uma cópia parcial, a melhor opção é usar rsync entre os dois hosts. Isso permite que rsync execute um processo em cada host para considerar e comparar as diferenças. (O rsync ignorará completamente os arquivos que possuem o mesmo tamanho e data de modificação. Para outros arquivos, os componentes cliente e servidor realizarão uma soma de verificação contínua para determinar quais blocos ainda precisam ser transferidos.)
-
Despejo rápido. Este exemplo não usa autenticação ou criptografia. Entretanto, aplica-se a compactação, que você pode remover omitindo os dois
-zflags:Execute isso na máquina de destino para iniciar um servidor de escuta:
cd /path/to/destination && nc -l 50505 | pax -zrv -peExecute isso na máquina de origem para iniciar o cliente de envio:
cd /path/to/source && pax -wz . | nc destination_server 50505Algumas versões de
nc -lpodem exigir que a porta seja especificada com um sinalizador, ou seja,nc -l -p 50505. A versão do OpenBSD no Debian (nc.openbsd, linkado por/etc/alternativesto/bin/nc) não. -
Transferência mais lenta. Este exemplo usa
rsyncoverssh, que fornece autenticação e criptografia. Não perca a barra final (/) no caminho de origem. Omita o sinal-zse não quiser a compressão:rsync -avzP /path/to/source/ destination_server:/path/to/destination
Você pode precisar configurar certificados SSH para permitir o login no destination_server como root. Adicione o -H flag se você precisar manipular hard links.