Automatizando el respaldo de la Raspberry Pi

Publicado por emontes en

Uno de los temas que últimamente me ha estado preocupando es el respaldo del sistema de la Raspberry Pi, lo cual resulta muy necesario cuando has gastado bastante tiempo en personalizar el sistema y dejarlo funcionando como una máquina de relojería.

Buscando en internet encontré un post de PiMyLifeUp en el cual nombraban un script de bash llamado bkup_rpimage creado por lzkelley el cual de acuerdo a su creador permitía crear respaldos incrementales en un archivo .img de todo el contenido de la microSD de la Raspberry Pi.

Era justo lo que necesitaba, pero por alguna razón no funcionaba correctamente en mi sistema, así que decidí crear un fork en Github y optimizarlo, con lo cual quedó funcionando a pedir de boca.

Lo primero que debemos hacer es clonar el script en nuestra Raspberry para lo cual ejecutaremos el siguiente comando.

cd /home/pi
git clone https://github.com/MrAndersonMD/bkup_rpimage.git
cd bkup_rpimage

Esto creará un directorio llamado bkup_rpimage en nuestro directorio home en el cual encontraremos los archivos bkup_rpimage.sh, exclude-file.txt, LICENSE y readme.md.

bkup_rpimage.sh corresponde al script, exclude-file.txt corresponde a un archivo en el cual podemos incluir los archivos o directorios que queremos excluir del respaldo, como por ejemplo archivos de cache y logs, LICENSE corresponde a la licencia y readme.md corresponde al archivo de ayuda en el cual se explica el uso del script.

Antes de realizar el primer respaldo vale la pena revisar el archivo exclude-file.txt con el siguiente comando.

sudo nano exclude-file.txt

El contenido por defecto de dicho archivo es el siguiente.

media
tmp/**
proc/**
run/**
sys/**
mnt/**
var/swap
var/cache
var/log
home/pi/.cache/**
root/.cache
root/.npm

Podemos incluir más directorios, archivos específicos, o incluso extensiones, teniendo el cuidado de escribir un recurso por línea como se aprecia en el ejemplo. Una vez que hayamos terminado de editar el archivo, grabamos con Ctrl-O y salimos con Ctrl-X.

El primer respaldo es el que tomará más tiempo, pero los siguientes, dado que utiliza un sistema de respaldo incremental, sólo agregarán o borrarán lo que no esté respaldado previamente.

Para realizar el primer respaldo basta con utilizar el siguiente comando.

sudo sh /home/pi/bkup_rpimage/bkup_rpimage.sh start -c /media/pi/MYBACKUPDRIVE/rpi_backup.img

Yo tengo conectado un SSD WD PiDrive a uno de los puertos USB de la Raspberry Pi, de manera tal que donde dice MYBACKUPDRIVE lo reemplacé por la ruta de dicho SSD y del directorio que creé para guardar dichos respaldos.

Una vez terminado el primer respaldo podemos automatizarlos mediante cron con el siguiente comando.

sudo crontab -e

Seleccionamos nano como editor y agregamos la siguiente línea.

0 0 * * * sudo sh /home/pi/bkup_rpimage/bkup_rpimage.sh start -c /media/pi/WD_PiDrive_314GB/raspi-backup/raspi-backup.img

Una vez que esté todo listo, grabamos con Ctrl-O y salimos con Ctrl-X. Esta linea de cron creará un respaldo incremental todos los días a las 0:00.

Con esto, ya tendremos automatizada la creación de respaldos incrementales del sistema de nuestra Raspberry Pi, y podremos dormir algo más tranquilos sabiendo que si el sistema se llega a estropear, tenemos una copia de seguridad para recrear todo sin tanto trabajo.


0 comentarios

Deja una respuesta

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *