Seguridad en la Raspberry. Episodio VII: Copia de seguridad

Copia de seguridad

Hacer una copia de seguridad es siempre una buena práctica que deberíamos realizar a menudo en todos nuestros dispositivos, no solo en la Raspberry. En este articulo veremos como hacer una copia de seguridad de la tarjeta de manera local, remota y restaurarla en caso de desastre.


Copia de seguridad local

Para realizar una imagen de la tarjeta microSD de manera local, hay que apagar la Raspberry. Nos conectamos mediante ssh y ejecutamos

sudo shutdown -h now

Introducimos la tarjeta en el equipo que debe realizar la copia y averiguamos donde se ha montado:

sudo fdisk -l

Hay que desmontar las dos particiones para poder hacer la copia de seguridad:

sudo umount /dev/sdX1 /dev/sdX2

Y ejecutamos:

sudo dd bs=4M status=progress if=/dev/sdd of=/media/datos1/backups/rpi/webserver/backup_`date +%yyyy%mm%dd`.dd

Para comprobar que la copia de seguridad es correcta ejecutaremos el siguiente comando:

sha1sum /media/datos1/backups/rpi/webserver/backup_`date +%yyyy%mm%dd`.dd

El resultado, en este caso, es:

b9275fcaeba732f99788654a4d80d8636dcfce9f /media/datos1/backups/rpi/webserver/backup_250817.dd

Hacemos la misma operación pero para la tarjeta microSD:

sudo sha1sum /dev/sdd

Con el resultado:

b9275fcaeba732f99788654a4d80d8636dcfce9f /dev/sdd

Si los dos resultados no son iguales, significa que tenemos algún error y hay que repetir la copia. Si ambas cadenas son idénticas, ¡felicidades! Solo nos quedaría comprimir el fichero resultante del backup:

tar -czvf backup_`date +%yyyy%mm%dd`.tar.gz /media/datos1/backups/rpi/webserver/backup_`date +%yyyy%mm%dd`.dd

Expulsamos la tarjeta:

sudo eject /dev/sdd

Y la introducimos de nuevo en la Raspberry.

RESTAURAR LA COPIA DE SEGURIDAD

Una vez introducida la tarjeta en el equipo que se encargara de restaurarla, introduciendo un único comando, descomprimiremos y restauraremos la tarjeta:

tar xzOf /media/datos1/backups/rpi/webserver/backup_20170825.tar.gz | sudo dd of=/dev/sdc bs=1M status=progress; sync

REALIZAR UNA COPIA DE SEGURIDAD REMOTA

Para evitar tener que parar la Raspberry y llevarse la tarjeta a otro ordenador, podemos hacer lo mismo pero en remoto:

ssh @192.168.1.70 -p 6814 "sudo dd if=/dev/mmcblk0 bs=1M | gzip -" | dd of=/media/backups/rpi/webserver/backup_remoto_20170825.gz

En el caso de obtener un mensaje de error del tipo:

sudo: no tty present and no askpass program specified

Debemos conectarnos al equipo remoto y editar el fichero visudo mediante:

sudo EDITOR=nano visudo

y permitir al usuario ejecutar unicamente el comando dd sin password añadiendo al final del fichero:

  ALL = NOPASSWD: /usr/bin/dd if=/dev/mmcblk0 *

Si relanzamos el comando de copia, ahora no debería haber ningún problema.

Es un proceso lento, alrededor de 2 horas con una tarjeta de 32GB y con una RPI3.

Para restaurar, ahora si desde un ordenado en local, ejecutaremos la siguiente orden

gzip -dc /media/datos1/backups/rpi/webserver/backup_remoto_20170825.gz | sudo dd of=/dev/sdc bs=1M status=progress; sync

Alrededor de 40 minutos para restaurar una tarjeta de 8GB con una RPI3.

Soy Jaume Ferré, aficionado a los nuevas tecnologias, aunque ya no lo son tanto.
¡Gracias por leerme!

Valora este artículo1 2 3 4 5 (0 votos)

(0 votos)

Categorias del blog

twitter

Últimos tweets