Funkenstrahlen Podcasting, Netzpolitik, App-Entwicklung

Komprimierte Raspberry Pi Backups erstellen

Ich habe in letzter Zeit öfter Backups von meinem Raspberry Pi erstellen und auch wieder zurückspielen müssen. Dazu habe ich bisher zunächst eine Kopie der SD-Karte mit dd erstellt und danach komprimiert. Das Problem ist, dass man dann mit relativ vielen 32GB großen Dateien hantieren muss. Daher habe ich mir jetzt angeschaut, wie ich die Daten direkt beim Lesen auch komprimieren kann.

Zunächst muss man feststellen, wie der SD-Kartenslot angesprochen wird im System. Auf dem Mac nutzen wird dazu diskutil list, unter Linux geht das mit fdisk -l.

diskutil list                                      
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *240.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage                         239.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Ohne Titel             *238.9 GB   disk1
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *32.5 GB    disk2
   1:             Windows_FAT_32                         58.7 MB    disk2s1
   2:                      Linux                         32.4 GB    disk2s2

Die 32GB SD-Karte wird also mit /dev/disk2 angesprochen. Bevor wir Daten lesen oder schreiben können, müssen wir die Karte zunächst unmounten:

sudo diskutil unmountDisk /dev/disk2

So erstellt man ein Image von der SD-Karte (die bei mir unter /dev/disk2 angesprochen wird) und legt es direkt bzip2 komprimiert ab:

sudo dd bs=1048576 if=/dev/disk2 | bzip2 > backup.img.bz2

Wenn man das komprimierte Image dann wieder zurück auf die SD-Karte spielen möchte, dann funktioniert das folgendermaßen:

sudo bunzip2 backup.img.bz2 --stdout | sudo dd bs=1048576 of=/dev/disk2

Viel Spaß beim Backups erstellen! :)