Eu faço backup de todas as minhas fotos digitais em alguns lugares. Eu tenho usado o comando cp, mas - dado o valor pessoal - comecei a me perguntar se há uma maneira mais confiável. Eu não sou estranho ao Linux, Bash, Perl, etc., então eu poderia escrever algo para copiar e comparar os hashes MD5, mas queria saber se já existe algo (reinvenção, rodas e outras coisas).
A maior parte do meu Google para copiar e (verificar | válido | verificar | hash | confirmar) aumenta o rsync. No entanto, até onde eu sei, o rsync usa apenas hashes para verificar se um arquivo precisa ser atualizado. Não realiza uma comparação de hash posteriormente.
Para esse uso, especificamente, os arquivos são binários e geralmente de 8 a 10 MB. Todas as recomendações de utilitários ou orientações para soluções de bricolage seriam muito apreciadas.
Respostas:
De
man rsync
, na-c
opção:-c, --checksum: pula com base na soma de verificação, não no tempo e tamanho da modificação
fonte
Há vários anos, eu tinha as mesmas exigências que você. A solução que escolhi foi usar o ZFS por meio do driver ZFS-FUSE no meu servidor de armazenamento. Meu pensamento era que minhas fotos pessoais, documentos digitalizados e outros arquivos semelhantes eram coisas que eu só podia acessar ocasionalmente, por isso pode levar muito tempo, digamos um ano ou mais, antes de perceber que um arquivo foi corrompido devido a um erro na unidade ou algo parecido.
A essa altura, todas as cópias de segurança que possuo podem ser esta versão apodrecida em bits do (s) arquivo (s).
O ZFS possui um benefício sobre o RAID-5, pois ele pode detectar e reparar erros nos dados armazenados nos discos individuais, mesmo que as unidades não relatem um erro de leitura durante a leitura dos dados. Ele detectará, através de somas de verificação, que um dos discos retornou informações corrompidas e usará os dados de redundância para reparar esse disco.
Devido à maneira como a soma de verificação é projetada no ZFS, senti que podia confiar neles para armazenar dados usados com pouca frequência por longos períodos de tempo. Toda semana eu executo um "zpool scrub" que passa e relê todos os dados e verifica as somas de verificação.
O ZFS-FUSE teve um desempenho muito bom para mim nos últimos anos.
No passado distante, para um cliente, implementei um sistema de banco de dados que armazenava informações de soma de verificação em todos os arquivos armazenados em um diretório específico. Eu tinha outro script que seria executado periodicamente e verificaria o arquivo na soma de verificação armazenada no banco de dados. Com isso, poderíamos detectar rapidamente um arquivo corrompido e restaurar a partir de backups. Basicamente, estávamos implementando o mesmo tipo de verificação que o ZFS realiza internamente.
fonte
https://sourceforge.net/projects/crcsum/ Estende o Linux cp & mv com verificação de soma de verificação
fonte
Encontrei este utilitário (Linux e Windows) que faz exatamente o que você deseja (cópia com hash + verificação com log com hash): http://sourceforge.net/projects/quickhash/
A única desvantagem é que ela existe apenas como uma GUI (sem acesso à linha de comando)
fonte
se você estiver copiando o arquivo localmente (como está implícito na sua referência em
cp
vez descp
etc), apenascmp
os arquivos de origem e de destino ... mas realisticamente, secp
não estiver emitindo algum tipo de erro (na linha de comando ou no o valor de retorno da execução), não há motivo para acreditar que não está funcionando.se você realmente deseja um backup legitimamente redundante, considere uma solução remota como o dropbox .
fonte