O rsync verifica cópias de arquivos em unidades locais?

1

Eu uso o rsync para fazer um backup incremental do HD ext3 local no meu laptop em um HD ext4 conectado via USB ao laptop. Eu suponho que o rsync trate esses dois HDs como locais, então estou pensando se o rsync realiza qualquer tipo de verificação dos arquivos copiados.

Olhando para a página de manual, parece que sim ("Note que o rsync sempre verifica se cada arquivo transferido foi reconstruído corretamente no lado de recepção, verificando uma soma de verificação de arquivo inteiro que é gerada quando o arquivo é transferido, mas a verificação após a transferência não tem nada a ver com a opção antes da transferência "Verificar se este arquivo precisa ser atualizado?".), mas isso é contradito em StackExchange . Então, eu estou querendo saber se eu preciso fazer a verificação sozinho? E, em caso afirmativo, devo usar diff ou rsync -c após a execução real do rsync?

Tanto quanto eu entendo a verificação realizada pelo rsync é apenas uma verificação da transferência do arquivo, não a gravação do arquivo em disco. A verificação da gravação do arquivo no disco é, até onde eu sei, deixada para o driver / sistema de arquivos subjacente. Isso é seguro o suficiente? O ext4 é capaz de detectar e avisar se uma gravação deu errado? E o rsync irá denunciá-lo?

Como isso é mais uma questão de verificação de dados e possível corrupção de dados, inseri mais algumas tags para ajudar a minha postagem ser lida pelas pessoas certas. Eu também tentei expandir um pouco a questão em si.

    
por jbang 20.09.2015 / 16:56

2 respostas

1
% bl0ck_qu0te%

Eu diria que sim. Se você quiser que rsync faça uma verificação, será necessário executar rsync -c após a cópia para que possa ter alguma verificação extra usando rsync . Ou use um md5sum nos arquivos.

% bl0ck_qu0te%

Sim. Estamos falando de drivers e do sistema de arquivos, então um erro qualquer um deles resultará em um código de saída. Claro que há um pior cenário aqui: se o driver / sistema de arquivos estiver com defeito, o código de saída pode ser erroneamente enviado como correto. Eu não diria que isso seja correto e use uma ferramenta como md5sum para verificar os resultados.

% bl0ck_qu0te%

Assim que o final do recebimento for o mesmo, rsync .

    
por Rinzwind 21.09.2015 / 23:36
1

A parte da página man que você menciona tem a ver com a opção -c. Como o homem lê no começo

% bl0ck_qu0te%

com a opção -c verifica se dois arquivos são de tamanho igual e, em caso afirmativo, verifica os checksums dos dois.

O rsync também verifica a transferência do arquivo pela rede, não pelo disco. Se você quer ter certeza de que seus dados não estão corrompidos, você pode usar utilitários como md5sum.

como uma observação: Eu não acho que este procedimento se qualifique como um "backup incremental", já que backups incrementais armazenam as diferenças para o sistema a partir de um backup anterior. Eu acho que "transferência incremental" é mais apropriada.

    
por user448115 21.09.2015 / 23:31