
Usei o comando "Rsync" para transferir grande quantidade de dados, do sistema de arquivos para o nfs (cerca de 1Tera).
Depois de um tempo, o computador desligou e a transferência foi cancelada (demorou cerca de 10 horas para a transferência de 600G).
Parte do sistema de arquivos carregado foi alterada/adicionada pelos usuários. Quero saber que se eu usar o Rsync novamente, sem deletar a transferência parcial, ele saberá ignorar a transferência dos arquivos e recarregar o que foi alterado.
Ps se houver opção de retomar o Rsync, os arquivos transferidos serão ignorados muito mais rápido do que foram carregados na primeira vez? Fiquei preocupado com isso, pois demorei 10 horas para transferir 600G e espero que o próximo Rsync seja muito mais rápido.
Editar: aparentemente não posso comentar as respostas... então para @Kusalananda usei rsync -rtzvx
.
Responder1
Você não usou as -a
opções, portanto as propriedades de usuários e grupos, nem as permissões, não foram preservadas. No entanto, os carimbos de data e hora foram devido ao uso de -t
.
Ao reiniciar o rsync, ele não poderá usar os metadados acima para determinar se o arquivo no destino é o mesmo que na origem. Se você estiver com sorte, poderá usar --size-only
, que informa ao rsync para assumir que o arquivo é idêntico se o tamanho for o mesmo; isso geralmente só funciona corretamente para itens como arquivos de log ou fotos.
No entanto, as coisas podem não ser tão ruins quanto você imagina: o rsync fará a soma de verificação de cada arquivo na origem e no destino, e somente se a soma de verificação mostrar uma diferença os blocos diferentes serão transferidos. Ou seja, nem todo o arquivo é transferido novamente, apenas os blocos alterados são transferidos. Este é o ponto forte do rsync: otimizar o uso da largura de banda da rede ao custo de mais E/S de disco.
Obviamente, isso pressupõe que o rsync esteja sendo transferido pela rede para outro host. Se o sistema de arquivos NFS de que você fala for montado localmente, então o rsync provavelmente não é a ferramenta para isso, pois o rsync usará muito mais largura de banda da rede ao verificar os arquivos. Além disso, o rsync muda para --whole-file
o modo ao fazer transferências locais, pois não faz sentido primeiro verificar todo o arquivo de origem e destino e depois copiar a origem para o destino.
Em geral, eu recomendaria o uso de, -a
se possível. Pode ser necessário combiná-lo --numeric-ids
se tiver usuários diferentes na origem e no destino; se você tiver os mesmos usuários, mas os IDs podem ser diferentes, NÃO use --numeric-ids
, o rsync mapeará os IDs de acordo com o nome.