Uma palavra. rsync .
Estou trabalhando na transferência de muitos arquivos (> 100 GB, vários milhares de arquivos) em minha rede para um novo Mac. Quando as transferências estiverem concluídas, gostaria de verificar se todos os arquivos foram transferidos com sucesso e se não houve corrupção durante o processo.
Os arquivos são provenientes de um compartilhamento de servidor FreeNAS (open source NAS baseado no FreeBSD). Eles estão sendo carregados no sistema de arquivos do Mac.
Até agora, a melhor solução que posso imaginar é executar ls -aR
em um arquivo para o compartilhamento e, em seguida, o disco local e, em seguida, para diferenciar os dois arquivos. Existem melhores soluções? Opcionalmente, mas ainda melhor, há uma maneira de fazer isso, o que faria com que os arquivos fossem hash para garantir que todos os dados fossem transferidos com sucesso?
Em termos de conhecimentos de informática, estou à vontade para usar aplicativos de terminal, portanto não é necessário recomendar apenas ferramentas de GUI.
Uma palavra. rsync .
Como SleighBoy mencionou, o Rsync é a ferramenta padrão para esse tipo de coisa.
Sua sugestão para diferenciar a saída de ls em ambos os sistemas não funcionaria, porque enquanto ele verificaria que os arquivos estavam presentes em ambos os locais, não faria nada para verificar a integridade dos dados . Se você fizer isso manualmente, precisará gerar uma soma de verificação para cada arquivo nos dois sistemas e, em seguida, verificar se as somas de verificação são correspondentes. Existem ferramentas para fazer isso para você ( radmind tem ferramentas que facilitam isso), mas é mais fácil apenas usar o Rsync.
Este artigo descreve um uso inteligente do BitTorrent para alcançar aproximadamente a mesma coisa. Eu não recomendo esta solução, mas é uma leitura interessante.
Se você tiver os arquivos em ambos os lados, poderá executar md5sum
em cada extremidade e comparar o hash. A maneira de fazer isso em vários arquivos é tar
deles para stdout
e canalizar a saída para md5sum
.
rsync
e simples scp -r
ou rcp -r
também são seus amigos.