Verificar integridad de respaldos en sistemas GNU/Linux

Buenas, ¿como estan?

Quisiera comentarles como hacer para verificar la correctitud de un respaldo, hecho en cualquier sistema GNU/Linux, o al menos en la mayoría de ellos.

Para hacer un buen respaldo se necesitan 2 cosas fundamentales:
  1. Almacenar el respaldo en un dispositivo físico, separado del dispositivo que contiene a los archivos originales.
  2. Verificar que dicho respaldo sea fiable.
Les voy a colocar un paso a paso que abarca los anteriores puntos, de forma de obtener un respaldo de calidad.

Demos por hecho lo siguiente:
  • Nuestros archivos a respaldar se encuentran en la carpeta de nombre "/home/usuario/origen".
  • Estamos 'parados' en la carpeta '/home/usuario'
  •  Tenemos un dispositivo extraíble montado en "/media/usuario/disp"
Lo primero que vamos a hacer será comprimir el contenido de nuestra carpeta en el formato que más les guste, por ejemplo yo voy a elegir tar.gz:

tar -xzvf  origen.tar.gz ./origen


Luego de generado el archivo origen.tar.gz, procederemos a calcular su md5, con el comando 'md5sum':

md5sum origen.tar.gz

Esto generará una salida como la siguiente:

68488dd282304c901b5b29f1c7cd41c4  origen.tar.gz

en donde la cadena de la izquierda es el md5 correspondiente al archivo origen.tar.gz, esto nos será útil más adelante.

Ahora procederemos a copiar el archivo 'origen.tar.gz' al dispositivo extraíble que tenemos montado en '/media/usuario/disp':

cp origen.tar.gz /media/usuario/disp

Una vez finalizado,  procederemos a calcular el md5 pero del archivo copiado, de la misma forma en que procedimos para 'origen.tar.gz':

md5sum /media/usuario/origen.tar.gz

Si la cadena generada esta vez, coincide con la anterior quiere decir que logramos copiar con éxito el archivo de respaldo.

Sin embargo esto no quiere decir que el respaldo sea identico al original, simplemente logramos duplicar los datos del archivo comprimido de forma correcta.

Por último descomprimimos el respaldo dentro del medio extraíble y ejecutamos el siguiente comando:

diff -r /media/usuario/origen ./origen

el cual analizar los directorios de forma recursiva y en caso de encontrarse con alguna diferencia (inclusive minima) nos lo va a reportar.

De esta forma comprobamos que el contenido de /media/usuario/origen y ./origen son idénticos.

Como habrán notado, la compresión es opcional, sin embargo nos permite ahorrar un poco de espacio y mediante el md5 podremos verificar rápidamente que ese tar.gz sigue siendo correcto. Es decir, luego de verificar una vez, sabremos que podemos utilizarlo tranquilamente para hacer tantas copias como deseemos sin tener que hacer el diff recursivo en cada oportunidad.

Saludos!

Comentarios

Entradas populares de este blog

I3 - Primeros pasos

Monitorizando estado del disco, y graficando los resultados con gnuplot