Raspberry Pi - Backup remoto
Como crear una copia de seguridad sin apagar el sistema
Si odias apagar tu Raspberry PI para hacer una copia de seguridad del sistema, continua leyendo.
Ya te habrá quedado claro que soy un Full Lover de la Raspberry PI, la uso como servidor principal y es casi mas importante que yo en casa, pero el ritual de hacer una copia de seguridad me cansaba. Tenia que apagarla, desconectar los discos y la microSD, conectar todo a mi pc y hacer el backup. Después había que volver a conectar todo, encenderla y comprobar que todos los servicios se iniciaban de forma correcta.
Esos malos tiempos se han acabado, ¡te explico como!
ACTUALIZACIÓN: Si queremos hacer backup remoto en un equipo con
Debian
, se presentará un error relacionado consudo
. Agrego un último apartado para solucionarlo.
Requisitos
Basta con tener habilitado el acceso remoto con SSH en nuestra Raspberry PI. En caso contrario, podemos crear un archivo con nombre ssh
en la particion /boot
de la misma y reiniciar. Este proceso se puede hacer tando desde sistemas Linux como macOS.
Este ejemplo es con una Raspberry que solo tiene microSD como disco del sistema, pero en el caso de tener también un disco USB como explique en esta entrada, solo hemos de hacer dos copias, una de la microSD y otra del disco USB siguiendo estos mismos pasos.
Localizar el nombre del disco
-
Entrar a la Raspberry PI por ssh
$ ssh pi@xxx.xxx.x.xxx
-
Ver el nombre del disco
$ lsblk -p
Saldrá algo como lo siguiente:
txt NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/mmcblk0 179:0 0 14,9G 0 disk ├─/dev/mmcblk0p1 179:1 0 43,2M 0 part /boot └─/dev/mmcblk0p2 179:2 0 14,8G 0 part /
Copiar el nombre, en este caso es /dev/mmcblk0
- Cerrar la conexion ssh
$ exit
Iniciar el backup
-
Ejecutar lo siguiente
$ ssh pi@xxx.xxx.x.xxx "sudo dd if=/dev/mmcblk0 bs=1M | gzip -" | dd of=$HOME/backupPi.gz status=progress
Nos pedirá la contraseña remota y comenzará el backup. Previamente hemos de modificar algunos parámetros.
Parámetros a modificar
* pi -> Nombre de nuestro usuario en la Raspberry PI
* xxx.xxx.x.xxx -> Direccion IP a la que nos queremos conectar
* if=/dev/mmcblk0 -> Nombre del disco
* of=$HOME/backupPi.gz -> "Directorio/nombreArchivo.gz" donde se guardara el backup
De esta forma, conectaremos con nuestra Rapberry PI por ssh
, haremos una copia con dd
ya comprimida, y la guardaremos en el directorio local indicado.
Gracias a status=progress
tendremos información del progreso de la copia hasta que esta finalice.
Restaurar el backup
Si queremos restaurar la copia, solo tenemos que conectar el disco en nuestro pc y hacer lo siguiente:
-
Comprobar el nombre del disco de destino
$ lsblk -p
-
Situados en el directorio donde está la copia:
$ gunzip -c backupPi.gz | dd of=/dev/mmcblk0
Cambiando el nombre de la copia y el del disco de destino por los adecuados.
Backup remoto en Debian
Si intentamos hacer este procedimiento en un equipo con Debian
, se presentará el error sudo: no tty present and no askpass program specified
. Esto se debe a que, mientras que por defecto Raspberry Pi OS no nos pide password para ejecutar comandos con sudo, Debian si lo pide.
Para solucionarlo, realizamos lo siguiente:
- Editar el archivo de configuración:
sudo visudo
-
Agregamos una línea al final como la siguiente, indicando el usuario con el que hacemos login en el equipo con Debian:
usuario ALL=(ALL) NOPASSWD:ALL
Guardamos y ya podremos ejecutar el comando de copia remota, este se ejecutará sin problema ya que ahora sudo no solicita password.
Si una vez finalizada la copia queremos dejar el sistema como estaba, cosa que recomiendo por seguridad, tan solo tenemos que comentar la linea que agregamos anteriormente y el sistema volverá a pedir password para ejecutar sudo con nuestro usuario.
Espero que sea útil, ¡gracias por leerme!
Comparte esta publicación
Twitter
Facebook
Reddit
LinkedIn
Pinterest
Email