Acho que sua decisão de usar rsync
é a melhor. É rentável, preciso e bem pensado. Lembre-se de usar a opção --strict
para md5sum
, caso contrário, você poderá ter problemas. Você pode considerar ignorar algumas verificações em arquivos grandes, pois ele apenas consumirá recursos e gerará o mesmo resultado. Imagine que você compara dois arquivos de 2 GB - é muito mais fácil simplesmente excluir o antigo, copiar o novo e atualizar o hash e a soma de verificação do que criar um novo hash, compará-lo com o antigo e mesclar as alterações. Para arquivos pequenos não faz diferença.
Outra ideia é simplesmente executar diff
em hashes e depois transferir arquivos parcialmente - --checksum
, --update
e --inplace
de rsync são seus amigos.
Para otimizar ainda mais o uso da largura de banda da rede, você pode considerar as opções --compress
e --bwlimit=
.
Não sei com que frequência você precisa transferir esses arquivos, com que frequência a sincronização deve ocorrer. Se, com muita frequência, for melhor configurar Unison . Mais sobre isso em Linux Journal .
Boa sorte!