Come verificare il backup offline di un diario con i checksum dei file
Per verificare che una copia offline di un diario digitale corrisponda byte per byte alla sua origine, crea un manifesto di checksum SHA-256 e un inventario dei file a partire dall'origine desiderata, quindi verifica il backup rispetto a tale baseline protetta. Un checksum corrispondente conferma l'integrità dei byte dei file elencati; non dimostra che l'elenco sia completo, che i file originali fossero corretti o leggibili, né che una baseline non attendibile sia autentica.
Cosa indica una verifica del checksum
Un checksum è un valore calcolato a partire dal contenuto di un file. Se il contenuto cambia, il valore calcolato risulterà diverso. Il confronto di un backup con un valore di riferimento può quindi aiutare a identificare le modifiche avvenute durante la copia o l'archiviazione. La Digital Preservation Coalition descrive i checksum come un modo per verificare il corretto trasferimento e la costante integrità dei file (fixity), sottolineando l'importanza del confronto con un riferimento noto per essere corretto ([Fixity and checksums](https://www.dpconline.org/handbook/technical-solutions-and-tools/fixity-and-checksums)).
Il riferimento è fondamentale: se calcoli sia la baseline che il confronto a partire dalla stessa copia già danneggiata, la corrispondenza non dimostra quale fosse il contenuto del file precedente. Una corrispondenza non prova nemmeno che una voce del diario si apra correttamente, che l'origine fosse completa o chi abbia creato i file. Considera questa operazione come un confronto byte per byte per un insieme di file deliberatamente selezionato.
Scegliere e registrare l'insieme di origine
Individua una cartella esportata e stabile del diario di cui effettuare il backup, e completa eventuali modifiche prima di calcolarne l'hash. Questo esempio riguarda i file standard, compresi quelli nascosti; non segue i collegamenti simbolici né acquisisce in modo coerente il database di un'applicazione attiva. Esporta il materiale collegato nella cartella selezionata, se necessario, e consulta le istruzioni di esportazione dell'applicazione. Salva l'inventario e il manifesto generati all'esterno di tale cartella.
Questi esempi richiedono Bash e GNU findutils/coreutils, come su Ubuntu Linux; non sono comandi destinati a un terminale macOS o Windows non modificato. L'esempio utilizza percorsi locali fittizi e nuovi nomi per i file di output. Usa una directory genitore esistente per i registri; scegli nomi di file non ancora utilizzati per non sovrascrivere le baseline precedenti. Sostituiscili con i percorsi del tuo computer; mantieni il diario privato e i registri generati a livello locale. Il manuale di Ubuntu documenta la generazione con `sha256sum` e l'opzione `--check` per verificare un output precedente ([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" ) ```
La subshell si interrompe in caso di errore nel cambio di directory o nella pipeline, rifiuta di sovrascrivere i file di registro esistenti e respinge un manifesto di checksum vuoto. Se segnala un errore, non utilizzare output parziali come baseline. L'inventario usa separatori NUL affinché i nomi di file contenenti interruzioni di riga rimangano distinti. Entrambi i registri rimangono all'esterno della cartella selezionata. Rivedi l'insieme di origine confrontandolo con l'esportazione del diario prima di ritenerlo affidabile; un manifesto non può rilevare un allegato omesso prima della sua creazione.
Proteggere la baseline e copiare i file
Conserva il manifesto e l'inventario in un luogo separato sia dall'origine di lavoro sia dal backup offline. Proteggili da modifiche accidentali e, se possibile, conserva una seconda copia protetta. Un confronto basato sui checksum ha valore come verifica di riferimento solo se hai motivo di considerare attendibile e preservare la baseline. Anche le linee guida sulla conservazione considerano le informazioni di fixity come dati da registrare e utilizzare per le verifiche; la NARA descrive la registrazione delle fixity, il monitoraggio delle azioni sui file e la creazione di manifesti e registri nel suo programma di conservazione digitale ([National Archives digital preservation](https://www.archives.gov/preservation/digital-preservation/about)).
Copia la cartella del diario selezionata sull'unità di backup usando il tuo consueto metodo di copia dei file. Tieni l'unità di backup scollegata quando non è in corso una verifica. I comandi descritti qui non eseguono la copia: verificano i file già copiati. Evita di modificare, rinominare o riorganizzare il backup prima di averlo verificato, poiché le modifiche ai percorsi possono impedire al manifesto di individuare i file previsti.
Verificare i byte copiati
Monta l'unità offline ed entra nella cartella del diario copiata. Esegui la verifica rispetto al manifesto di baseline, utilizzando lo stesso algoritmo SHA-256 e i percorsi relativi registrati all'origine:
```bash ( set -euo pipefail cd "/media/example/DiaryBackup/Diary" sha256sum --check --strict "/home/example/diary-source.sha256" ) ```
Il manifesto memorizza percorsi relativi che iniziano con `./`, quindi la verifica viene eseguita dall'interno della cartella del diario copiata. `OK` segnala una corrispondenza per quel file. I file mancanti o non corrispondenti, le righe di checksum non valide e gli errori di comando richiedono un'indagine; non nasconderli con `--ignore-missing` né dare per scontato che poche righe `OK` visibili indichino il superamento dell'intero controllo. Il [manuale di Ubuntu](https://manpages.ubuntu.com/manpages/noble/man1/sha256sum.1.html) documenta queste opzioni.
Questo controllo non segnala file aggiuntivi presenti nel backup che non erano inclusi nel manifesto. Se hai bisogno di rilevare elementi extra o contenuti imprevisti nella directory, confronta l'inventario dei file del backup con l'inventario salvato all'origine come passaggio separato. L'uguaglianza degli inventari non può comunque dimostrare che la selezione iniziale includesse ogni elemento del diario che intendevi salvare.
Indagare sulle discrepanze senza cancellare le prove
Se un file non corrisponde, annota il suo percorso e mantieni inalterate entrambe le copie. Verifica che il manifesto e la cartella di lavoro siano quelli previsti, quindi confronta separatamente l'origine e il backup. Controlla se la discrepanza può essere spiegata da una modifica, una ridenominazione o una copia incompleta. Conserva la copia non corrispondente durante l'indagine; una sovrascrittura automatica eliminerebbe prove utili.
Le linee guida per la conservazione digitale descrivono l'uso di una copia valida nota per sostituire una copia la cui integrità è andata perduta, operazione che dipende dalla disponibilità di un'altra copia affidabile ([Digital Preservation Coalition](https://www.dpconline.org/handbook/technical-solutions-and-tools/fixity-and-checksums)). Per un diario personale, questa è una decisione da prendere solo dopo aver confrontato le prove a disposizione. I checksum rilevano le differenze; non riparano i file né scelgono la versione corretta.
Limiti e registro pratico
Tieni un breve registro locale con la cartella di origine, la data della baseline, l'algoritmo, la posizione del manifesto e l'esito di ciascun controllo. Per le verifiche future, conserva la baseline iniziale invece di ricrearla a partire dal backup in fase di valutazione. Dopo una modifica intenzionale o una conversione, documenta la nuova versione separatamente. Continua a eseguire verifiche periodiche di apertura e ripristino: l'integrità dei byte da sola non può dirti se il tuo diario sia ancora utilizzabile.
