Saltar al contenido

backup sd linux

4 noviembre, 2019
Copia de seguridad tarjeta sd desde linux

Copia / Backup de seguridad tarjeta SD

Es muy importante que tengamos una copia de seguridad de nuestra tarjeta sd porque este tipo de tarjetas son muy sensibles a perdidas de información. En este artículo les voy a explicar paso a paso como hacer una copia exacta de nuestra tarjeta SD a un pendrive para posteriormente poder restaurar si lo necesitamos.
En este ejemplo voy a realizar la copia de una tarjeta SD donde se encuentra un sistema operativo llamado Raspbian a un fichero .img dentro de un pendrive.

Formatear el disco de destino

Debemos preparar el disco / pendrive de destino, para ello los formateamos con un formato adecuado teniendo en cuenta que si formateamos con FAT32 estaremos limitando los archivos a capacidades máximas de 4,2 Gb y en este caso es imposible hacer una imagen de una tarjera SD de 16Gb a un archivo .img de 4Gb por lo cual descartamos el sistema de ficheros FAT32.
Otro sistema a usar sería NTFS que tiene capacidades muy superiores a 4Gb y que nos serviría perfectamente para guardar la imagén de 16Gb pero debemos tener en cuenta que para montar desde línea de comandos un sistema NTFS hay que usar la siguiente instrucción:

sudo mount -t ntfs-3g /dev/sda1 /media

Otro sistema de ficheros menos usado para pendrive es EXT que es más específico para linux pero en este caso vamos a usar el pendrive de destino para disponer una copia de seguridad y poderla restaurar así que sería valido tenerlo formateado en EXT y nos ahorramos usar la anterior instrucción para motar el sistema de ficheros siendo ahora la siguiente:

sudo mount /dev/sda1 /media/

Hacer Backup tarjeta SD Raspberry PI

Para ver discos instalados en nuestro sistema linux

sudo fdisk -l

Montamos el pendrive en la carpeta media para meter el archivo .img. Debemos tener en cuenta que lo que montamos es la particion (sda1) y no el disco (sda)

sudo mount /dev/sda1 /media/

Posteriormente instalar paquete pv para ver información del grabado. no viene por defecto en raspbian

sudo apt install pv

Finalmente procedemos a copiar disco completo (mmcblk0), con las dos particiones de raspbian (mmcblk0p1 y mmcblk0p2) a imagen

sudo dd if=/dev/mmcblk0 | pv | sudo dd of=/media/backupSD.img

Como restaurar imagen a Tarjeta SD

Primero montamos la partición del pendrive en /media

sudo mount /dev/sda1 /media/

Finalmente volcamos el contenido de la imagen a la tarjeta SD (mmcblk0)

sudo dd if=/media/backupSD.img | pv | sudo dd of=/dev/mmcblk0 bs=1M

Script en Bash para copiar SD a img

Pasemos a detallar la siguiente sentencia de comandos separadas por «;» para que se ejecuten uno detrás de otro.

sudo mount /dev/sda1 /media/ ; fecha=$(date +%d%m%Y) ; sudo dd if=/dev/mmcblk0 | pv | sudo dd of='/media/backupSD'$fecha'.img'

sudo mount /dev/sda1 /media; montamos la partición 1 del disco sda que previamente hemos descubierto con el comando «fdisk -l» y donde se realizará la creación de la imagen de la memoria SD en forma de archivo *.img
fecha=$(date +%d%m%Y); introducimos una cadena con la fecha formateada para que sea parte del nombre del archivo *.img y así sabremos en que fecha se ha hecho la copia de seguridad.
sudo dd if=/dev/mmcblk0 | pv | sudo dd of=’/media/backupSD’$fecha’.img’; con el comando «dd» establecemos el origen de copia con el parametro «if», lo enviamos al comando «pv» para ver el estado de copia por pantalla y finalmente lo vamos grabando al parametro «of» de destino creando un fichero con el nombre backupSD + el contenido de la variable de fecha del la sentencia anterior + .img
Si queremos automatizar las tareas de copia grabaremos esta sentencia bach en un fichero copia.sh, por ejemplo:

sudo echo "sudo mount /dev/sda1 /media/ ; fecha=$(date +%d%m%Y) ; sudo dd if=/dev/mmcblk0 | pv | sudo dd of='/media/backupSD'$fecha'.img'" > copia.sh
sudo chmod +x copia.sh

podemos utilizar el comando «cron -e» y siguiendo el ejemplo que viene dentro del archivo podemos ejecutar este script de manera programada.