Como verificar um backup offline de diário com checksums de arquivos
Para verificar se uma cópia offline de um diário digital corresponde à sua origem byte a byte, crie um manifesto de checksums SHA-256 e um inventário de arquivos a partir da origem pretendida, depois verifique o backup em relação a essa linha de base protegida. Um checksum correspondente sustenta a afirmação sobre os bytes dos arquivos listados; ele não demonstra que a lista está completa, que os arquivos originais estavam corretos ou legíveis, nem que uma linha de base não confiável seja autêntica.
O que uma verificação de checksum revela
Um checksum é um valor calculado a partir do conteúdo de um arquivo. Se o conteúdo mudar, espera-se que o valor calculado seja diferente. Comparar um backup com um valor de referência pode, portanto, ajudar a identificar alterações durante a cópia ou o armazenamento. A Digital Preservation Coalition descreve os checksums como uma forma de verificar a transferência bem-sucedida e a fixidade contínua dos arquivos, enfatizando a comparação com uma referência sabidamente correta ([Fixity and checksums](https://www.dpconline.org/handbook/technical-solutions-and-tools/fixity-and-checksums)).
A referência importa: se você calcular tanto a linha de base quanto a comparação a partir da mesma cópia já corrompida, a correspondência não comprovará o que o arquivo anterior continha. Uma correspondência também não prova que uma entrada do diário abre corretamente, que a origem estava completa ou quem criou os arquivos. Trate isso como uma comparação de bytes para um conjunto de arquivos deliberadamente escolhido.
Escolha e registre o conjunto de origem
Identifique uma pasta exportada estável do diário que deve ser copiada e finalize quaisquer edições antes de gerar os hashes. Este exemplo abrange arquivos comuns, incluindo arquivos ocultos; ele não segue links simbólicos nem captura de forma consistente um banco de dados de aplicativo em execução. Exporte materiais vinculados para a pasta selecionada quando necessário e consulte as instruções de exportação do aplicativo. Armazene o inventário e o manifesto gerados fora dessa pasta.
Estes exemplos exigem Bash e GNU findutils/coreutils, como no Ubuntu Linux; eles não são comandos para um terminal não modificado do macOS ou Windows. O exemplo utiliza caminhos locais fictícios e novos nomes de arquivo de saída. Use um diretório pai existente para os registros; escolha nomes de arquivo não utilizados para que linhas de base anteriores não sejam sobrescritas. Substitua-os por caminhos em seu próprio computador; mantenha o diário privado e os registros gerados localmente. O manual do Ubuntu documenta a geração com `sha256sum` e sua opção `--check` para verificar uma saída anterior ([sha256sum manual](https://manpages.ubuntu.com/manpages/noble/man1/sha256sum.1.html)).
```bash ( set -euo pipefail set -C cd "/home/example/Diary" find . -type f -print0 | LC_ALL=C sort -z > "/home/example/diary-inventory.nul" xargs -0 -r sha256sum < "/home/example/diary-inventory.nul" > "/home/example/diary-source.sha256" test -s "/home/example/diary-source.sha256" ) ```
O subshell é interrompido em caso de falha na mudança de diretório ou no pipeline, recusa-se a sobrescrever arquivos de registro existentes e rejeita um manifesto de checksum vazio. Se ele relatar um erro, não use saídas parciais como linha de base. O inventário usa separadores NUL para que nomes de arquivos contendo quebras de linha permaneçam distintos. Ambos os registros permanecem fora da pasta selecionada. Revise o conjunto de origem em relação à exportação do diário antes de confiar nele; um manifesto não pode revelar um anexo omitido antes de sua criação.
Proteja a linha de base e copie os arquivos
Armazene o manifesto e o inventário em um local separado tanto da origem de trabalho quanto do backup offline. Proteja-os contra edições acidentais e mantenha uma segunda cópia protegida, se for viável. Uma comparação de checksums só tem valor como verificação de referência quando você tem motivos para confiar e preservar a linha de base. As diretrizes de preservação também tratam as informações de fixidade como algo registrado e usado para auditoria; o NARA descreve o registro de fixidades, o rastreamento de ações em arquivos e a criação de manifestos e logs em seu programa de preservação digital ([National Archives digital preservation](https://www.archives.gov/preservation/digital-preservation/about)).
Copie a pasta selecionada do diário para a unidade de backup usando seu método habitual de cópia de arquivos. Mantenha o backup desconectado quando não estiver sendo verificado. Os comandos aqui não executam a cópia; eles verificam arquivos já copiados. Evite editar, renomear ou reorganizar o backup antes de verificá-lo, pois alterações de caminho podem impedir que o manifesto encontre os arquivos esperados.
Verifique os bytes copiados
Monte a unidade offline e acesse a pasta do diário copiado. Execute a verificação em relação ao manifesto da linha de base, usando o mesmo algoritmo SHA-256 e os caminhos relativos registrados na origem:
```bash ( set -euo pipefail cd "/media/example/DiaryBackup/Diary" sha256sum --check --strict "/home/example/diary-source.sha256" ) ```
O manifesto armazena caminhos relativos que começam com `./`, portanto a verificação é executada a partir da pasta copiada do diário. A mensagem `OK` relata uma correspondência para aquele arquivo. Arquivos ausentes ou divergentes, linhas de checksum malformadas e erros de comando exigem investigação; não os oculte com `--ignore-missing` nem presuma que algumas linhas visíveis com `OK` signifiquem que toda a verificação foi bem-sucedida. O [manual do Ubuntu](https://manpages.ubuntu.com/manpages/noble/man1/sha256sum.1.html) documenta essas opções.
Esta verificação não relata arquivos adicionais no backup que não constavam no manifesto. Compare o inventário de arquivos do backup com o inventário salvo da origem em uma etapa separada se precisar detectar arquivos extras ou conteúdos inesperados no diretório. A igualdade de inventário ainda não é capaz de provar que sua seleção original incluiu todos os itens do diário que você pretendia salvar.
Investigue divergências sem substituir evidências
Se um arquivo apresentar divergência, registre seu caminho e mantenha ambas as cópias inalteradas. Confirme o manifesto pretendido e a pasta de trabalho, depois compare a origem e o backup separadamente. Verifique se edições, renomeações ou uma cópia incompleta explicam a discrepância. Preserve a cópia divergente durante a investigação; sobrescrevê-la automaticamente removeria evidências.
As diretrizes de preservação digital descrevem o uso de uma cópia comprovadamente boa para substituir uma cópia cuja fixidade foi perdida, o que depende de ter outra cópia confiável disponível ([Digital Preservation Coalition](https://www.dpconline.org/handbook/technical-solutions-and-tools/fixity-and-checksums)). Para um diário pessoal, essa é uma decisão a ser tomada somente após comparar as evidências disponíveis. Checksums detectam diferenças; eles não reparam arquivos nem escolhem a versão correta.
Limites e um registro prático
Mantenha um breve registro local da pasta de origem, data da linha de base, algoritmo, localização do manifesto e resultado de cada verificação. Para verificações posteriores, conserve a linha de base estabelecida em vez de recriá-la a partir do backup que está sendo avaliado. Após uma edição ou conversão intencional, documente a nova versão separadamente. Continue fazendo verificações ocasionais de abertura e restauração: a fixidade de bytes por si só não pode indicar se o seu diário permanece utilizável.
