Cómo comprobar una copia de seguridad sin conexión de un diario con sumas de comprobación de archivos
Para comprobar que una copia sin conexión de un diario digital coincide byte por byte con su origen, cree un manifiesto de sumas de comprobación SHA-256 y un inventario de archivos a partir del origen previsto y, a continuación, verifique la copia de seguridad con respecto a esa línea base protegida. Una suma de comprobación coincidente respalda una afirmación sobre los bytes de los archivos enumerados; no demuestra que la lista esté completa, que los archivos originales fueran correctos o legibles, ni que una línea base que no sea de confianza sea auténtica.
Qué le indica una comprobación de suma de verificación
Una suma de comprobación es un valor calculado a partir del contenido de un archivo. Si el contenido cambia, se espera que el valor calculado difiera. Por lo tanto, comparar una copia de seguridad con un valor de referencia puede ayudar a identificar cambios producidos durante la copia o el almacenamiento. La Digital Preservation Coalition describe las sumas de comprobación como una forma de comprobar una transferencia correcta y la fijación continua de los archivos, y recalca la comparación con una referencia que se sepa que es correcta ([Fixity and checksums](https://www.dpconline.org/handbook/technical-solutions-and-tools/fixity-and-checksums)).
La referencia importa: si calcula tanto la línea base como la comparación a partir de la misma copia ya dañada, la coincidencia no determina lo que contenía el archivo anterior. Una coincidencia tampoco demuestra que una entrada del diario se abra correctamente, que el origen estuviera completo o quién creó los archivos. Considere esto como una comparación de bytes para un conjunto de archivos elegido deliberadamente.
Elegir y registrar el conjunto de origen
Identifique una carpeta estable del diario exportado de la que se deba hacer una copia de seguridad y termine cualquier edición antes de procesarla con hash. Este ejemplo abarca archivos normales, incluidos los archivos ocultos; no sigue enlaces simbólicos ni captura una base de datos de una aplicación activa de forma consistente. Exporte el material vinculado a la carpeta seleccionada cuando sea necesario y consulte las instrucciones de exportación de la aplicación. Guarde el inventario y el manifiesto generados fuera de esa carpeta.
Estos ejemplos requieren Bash y GNU findutils/coreutils, como en Ubuntu Linux; no son comandos para una terminal de macOS o Windows sin modificar. El ejemplo utiliza rutas locales ficticias y nombres de archivo de salida nuevos. Utilice un directorio principal existente para los registros; elija nombres de archivo no utilizados para que no se sobreescriban las líneas base anteriores. Sustitúyalos por rutas de su propio ordenador; mantenga en local el diario privado y los registros generados. El manual de Ubuntu documenta la generación de `sha256sum` y su opción `--check` para verificar una salida previa ([manual de sha256sum](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 se detiene ante un cambio de directorio o una canalización fallidos, se niega a sobreescribir archivos de registro existentes y rechaza un manifiesto de sumas de comprobación vacío. Si informa de un error, no utilice salidas parciales como línea base. El inventario utiliza separadores NUL para que los nombres de archivo que contengan saltos de línea sigan siendo diferenciables. Ambos registros permanecen fuera de la carpeta seleccionada. Revise el conjunto de origen con respecto a la exportación del diario antes de confiar en él; un manifiesto no puede revelar un archivo adjunto que se omitió antes de su creación.
Proteger la línea base y copiar los archivos
Guarde el manifiesto y el inventario en un lugar separado tanto del origen de trabajo como de la copia de seguridad sin conexión. Protéjalos de modificaciones accidentales y conserve una segunda copia protegida si resulta práctico. Una comparación de sumas de comprobación solo tiene valor como verificación de referencia cuando se tienen motivos para confiar en la línea base y preservarla. Las directrices de preservación tratan igualmente la información de integridad (fixity) como algo registrado y utilizado para auditorías; la NARA describe el registro de integridades, el seguimiento de acciones sobre archivos y la creación de manifiestos y registros en su programa de preservación digital ([National Archives digital preservation](https://www.archives.gov/preservation/digital-preservation/about)).
Copie la carpeta del diario seleccionada a la unidad de copia de seguridad utilizando su método habitual de copia de archivos. Mantenga la copia de seguridad desconectada cuando no se esté comprobando. Los comandos que se muestran aquí no realizan la copia; comprueban los archivos ya copiados. Evite editar, cambiar de nombre o reorganizar la copia de seguridad antes de comprobarla, ya que los cambios de ruta pueden impedir que el manifiesto encuentre los archivos esperados.
Verificar los bytes copiados
Monte la unidad sin conexión y acceda a la carpeta del diario copiado. Ejecute la comprobación con respecto al manifiesto de la línea base, utilizando el mismo algoritmo SHA-256 y las rutas relativas registradas en el origen:
```bash ( set -euo pipefail cd "/media/example/DiaryBackup/Diary" sha256sum --check --strict "/home/example/diary-source.sha256" ) ```
El manifiesto almacena rutas relativas que comienzan con `./`, por lo que la verificación se ejecuta desde la carpeta del diario copiado. `OK` indica una coincidencia para ese archivo. Los archivos ausentes o que no coincidan, las líneas de suma de comprobación con formato incorrecto y los errores de comando requieren una investigación; no los oculte con `--ignore-missing` ni asuma que unas pocas líneas visibles con `OK` significan que toda la comprobación ha sido satisfactoria. El [manual de Ubuntu](https://manpages.ubuntu.com/manpages/noble/man1/sha256sum.1.html) documenta estas opciones.
Esta comprobación no reporta los archivos adicionales en la copia de seguridad que no estuvieran en el manifiesto. Compare el inventario de archivos de la copia de seguridad con el inventario de origen guardado como un paso independiente si necesita detectar elementos sobrantes o contenidos inesperados en los directorios. La igualdad de inventarios sigue sin poder demostrar que su selección original incluyera cada elemento del diario que pretendía guardar.
Investigar las discrepancias sin sustituir las pruebas
Si un archivo no coincide, anote su ruta y conserve ambas copias sin cambios. Confirme el manifiesto previsto y la carpeta de trabajo, y luego compare el origen y la copia de seguridad por separado. Compruebe si una edición, un cambio de nombre o una copia incompleta explican la discrepancia. Preserve la copia que no coincide mientras investiga; sobreescribirla automáticamente eliminaría las pruebas.
Las directrices de preservación digital describen el uso de una copia que se sabe que está en buen estado para sustituir una copia cuya fijación se ha perdido, lo cual depende de disponer de otra copia de confianza ([Digital Preservation Coalition](https://www.dpconline.org/handbook/technical-solutions-and-tools/fixity-and-checksums)). Para un diario personal, esa es una decisión que debe tomarse solo después de comparar las pruebas disponibles. Las sumas de comprobación detectan diferencias; no reparan archivos ni eligen la versión correcta.
Límites y un registro práctico
Mantenga un breve registro local de la carpeta de origen, la fecha de la línea base, el algoritmo, la ubicación del manifiesto y el resultado de cada comprobación. Para comprobaciones posteriores, conserve la línea base establecida en lugar de volver a crearla a partir de la copia de seguridad que se está evaluando. Tras una edición o conversión intencionada, documente la nueva versión por separado. Continúe realizando aperturas y comprobaciones de restauración ocasionales: la fijación de bytes por sí sola no puede indicar si su diario sigue siendo utilizable.
