Einfaches Backup und Wiederherstellung für Raspberry Pi

Wer mit einem Raspberry Pi arbeitet und eigene Anpassungen vorgenommen hat, möglicherweise mehrere SD-Karten für den Pi im Einsatz hat, wird recht schnell nach einer einfachen und praktischen Lösung zur Erstellung von Backups suchen.

Mit dieser Methode können Sie händisch (also nicht automatisiert) mittels einer einzigen Kommandozeile ein Image Ihrer SD-Karte anfertigen. Genau so einfach kann eine SD-Karte mit dem gespeicherten Image wieder bespielt werden.

Um die SD-Karte an Ihrem Rechner einzulesen benötigen Sie einen Kartenleser. Viele Laptops und auch Desktop-Systeme haben solche bereits eingebaut. Falls Sie keinen Kartenleser besitzen können Sie einen für ein paar Euros erstehen, wenn Sie diesem Link folgen. Dieser lässt sich einfach per USB an den Rechner anschließen.

Verbinden Sie die SD-Karte, von der ein Backup durchgeführt werden soll mit Ihrem Rechner. Nun müssen wir wissen mit welcher Kennung unsere SD-Karte angesprochen werden kann. Dazu geben wir folgenden Befehl in der Konsole ein um alle verbundenen Laufwerke anzuzeigen.

lsblk

Als Beispiel meine Ausgabe:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 232,9G  0 disk
├─sda1   8:1    0   145G  0 part
└─sda2   8:2    0  87,9G  0 part /mnt/SSD_Ext_Linux
sdb      8:16   0 931,5G  0 disk
├─sdb1   8:17   0 147,2G  0 part
├─sdb2   8:18   0  20,4G  0 part /
├─sdb3   8:19   0     2G  0 part [SWAP]
├─sdb4   8:20   0     1K  0 part
├─sdb5   8:21   0 294,1G  0 part /home
└─sdb6   8:22   0 467,9G  0 part
sdd      8:48   1   3,7G  0 disk
├─sdd1   8:49   1    56M  0 part
└─sdd2   8:50   1   3,6G  0 part
sr0     11:0    1  1024M  0 rom

Mein Rechner verfügt über zwei Festplatten mit mehreren Partitionen. Die Geräte sda und sdb sind bereits gemountet, also ins Dateisystem eingebunden, sdd dagegen nicht. Meine SD-Karte ist 4GB groß, sdd muß es also sein. Diese Information benötigen wir im nächsten Schritt.

Um das Backup zu starten geben wir nun Folgendes ein:

sudo dd if=/dev/sdd bs=1M | gzip > /pfad/zu/backup.gz

Der Parameter if steht dabei für unser Input File. Dabei handelt es sich um unser oben ermitteltes Device sdd, unsere SD-Karte. Mittels dem Befehl gzip wird der Datenstrom bereits komprimiert um Speicherplatz zu sparen. Der Vorgang dauert eine Weile, je nach Größe Ihrer SD-Karte. Haben Sie etwas Geduld und trennen Sie den Kartenleser nicht während dem Vorgang.

Um Ein Backup wiederherzustellen geben Sie folgenden Befehl ein:

gzip -dc /pfad/zu/backup.gz | sudo dd of=/dev/sdd bs=1M

Wobei sdd hier abermals Ihre SD-Karte bezeichnet und der Pfad zu Ihrer Datei durch Sie gewählt wird.

Anmerkungen für Windows-Benutzer

Es gibt Möglichkeiten für Windows ein Linux-Terminal zu simulieren. Ich empfehle einfach eine Linux Live-Image-Distribution zu nutzen und von der CD/DVD zu starten oder in einem virtuellen Image zu installieren.

 

Schreibe einen Kommentar