Seguridad en la Raspberry - Episodio VII: Copias de seguridad

Raspberry Pi con disco de respaldo y símbolo de copia de seguridad
3 min. Lectura
0 Vistas
0 Valoración

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 artículo veremos cómo 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 dónde 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 +%Y%m%d).dd

Verificación de integridad

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

sha1sum /media/datos1/backups/rpi/webserver/backup_$(date +%Y%m%d).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 +%Y%m%d).tar.gz /media/datos1/backups/rpi/webserver/backup_$(date +%Y%m%d).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 encargará 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 usuario@192.168.1.70 -p 6814 "sudo dd if=/dev/mmcblk0 bs=1M | gzip -" | dd of=/media/backups/rpi/webserver/backup_remoto_20170825.gz

Solución de problemas con sudo

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 únicamente el comando dd sin password añadiendo al final del fichero:

usuario 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.

Restaurar backup remoto

Para restaurar, ahora sí desde un ordenador 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.

¿Te ha sido útil?

Ayúdame a mejorar con tu puntuación y comentarios.

0.0 (0 votos)
Jaume Ferré

Jaume Ferré

Soy un entusiasta de las nuevas tecnologías, apasionado por explorar su potencial innovador. Colecciono CDs en formato físico y disfruto creando mezclas musicales. Además, la fotografía es otra de mis pasiones, capturando momentos y expresiones con cada disparo. ¡Gracias por leerme!

💬 Comentarios

Los comentarios están gestionados por GitHub Discussions. Necesitas una cuenta de GitHub para participar. ¡Es gratis y rápido!