Una buena práctica que olvidamos a veces, es diversificar nuestro sistema de recuperación de datos, esa cosa que llamamos backup, pero que acotamos muy pobremente en nuestro imaginario tecnológico. Al margen de las políticas de copias de seguridad de nuestra RaspberryPi, hay una que me encanta tener, una copia clonada del disco SD cada vez que hago cambios importantes o voy a hacerlos, desde el terminal de mi mac.
Contenidos
Clonar una tarjeta SD en el Terminal de Mac OS X
Aunque al final vamos a regalar un script que te permite hacerlo de forma automática, mejor que sepas lo que hace el script y que te permitirá adecuarlo a tus necesidades o realizar el trabajo de forma manual.
También podrías hacerlos cob las herramientas visuales de Mac OS X, pero lo mismo que me gusta el mac por muchas cosas, no me gusta por su mania de convertir a los usuarios en inútiles tecnológicos, que requieren de herramientas visuales para todo, sin saber que hacen realmente.
Que disco vamos a clonar?
Lo primero que necesitamos saber es que disco es el que vamos a clonarme, o mejor dicho conocer su denominación en el sistema.
$ diskutil list /dev/disk0 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *500.1 GB disk0 1: EFI EFI 209.7 MB disk0s1 2: Apple_HFS iSpecka 499.2 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB disk0s3 /dev/disk1 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *500.1 GB disk1 1: EFI EFI 209.7 MB disk1s1 2: Apple_HFS ABKDatos 499.8 GB disk1s2 /dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *2.0 TB disk2 1: EFI EFI 209.7 MB disk2s1 2: Apple_HFS MACBACKUP 2.0 TB disk2s2 /dev/disk3 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *1.0 TB disk3 1: EFI EFI 209.7 MB disk3s1 2: Apple_HFS BACKUPS 999.9 GB disk3s2 /dev/disk4 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *31.0 GB disk4 1: Windows_FAT_32 boot 66.1 MB disk4s1 2: Linux 15.5 GB disk4s2
En nuestro caso el disco SD recién insertado de nuestra raspberrypi, es el número 4.
Con este dato podemos ejecutar la secuencia de comandos que nos permitirá clonar la tarjeta SD.
Desmontar el disco
Desmontar la partición del disco que se monta al insertarla llamada boot, pero deja el disco dentro del sistema (4 el número de nuestro disco)
diskutil unmountDisk /dev/4DSK
Clonar con compresión
time dd if=/dev/r$DSK bs=4m | pv | gzip -9 > ~/Desktop/Piback.img.gz
# Si no tenemos instalado el comando pv, usar la opción de abajo en lugar de la de arriba
time dd if=/dev/r$DSK bs=1m | gzip -9 > ~/Desktop/Piback.img.gz
Renombrado de la copia de seguridad
Me gusta guardar mis copias de seguridad, snapshots… con un formato de fecha que me permita una mayor facilidad a la hora de localizar o almacenarlos
mv -n ~/Desktop/Piback.img.gz ~/Desktop/Piback$(date +%Y%m%d%H%M%S).img.gz
Despues ya lo muevo a mi ubicación preferida.
Script automatizado para clonar tarjeta SD en MacOS X
Con la advertencia necesaria de que puedes usar el script bajo tu responsabilidad, te dejo una copia del script que automatiza el proceso para clonar la tarjeta SD, en mi GitHub
Comando pv
Uso el comando pv (piper view) desde hace años, para determinado procesos que requieren un tiempo adicional, sin tener una salida al terminal, que me permita saber por donde voy. Aunque muchos comandos te permiten el uso de la secuencia Ctrl+T, la información que me presta el uso de pv en su uso en pipeline, me es mas amigable. Puedes instalarlo desde HomeBrew, o con las MacPorts
brew install pv
port install pv
Enlaces relacionados:
- Clone Raspberrypi scard to file on Mac Os X
- Linux / Unix pv Command: Monitor Progress of Data Sent Via a Pipe
Imagen Designed by Freepik y rediseñada por Abdelkarim Mateos
Comparte este artículo
Artículo Antiguo
Este artículo tiene más de 2 años. Es muy probable que su contenido este anticuado, aunque pueda ser de utilidad, es conveniente que revises otras informaciones al respecto. Si lo encuentras útil o crees que puede ser actualizado, deja tu comentario con la actualización para poder editarlo y que pueda ser útil a los demás.Comparte este articulo en