RaspiBackup – Einfaches Backup für den Raspberry Pi

Einige von Euch wie auch Ich haben mehrere Raspberry Pi´s am laufen. Natürlich sollte man da ein einfaches bzw. automatisches Backup System installieren. In diesem Beitrag werde ich Euch die Verwendung von RaspiBackup näher bringen.

Bei mir laufen aktuell 4 Raspberry Pi´s ( openhabian, homeassistant, raspberrymatic, pihole..) + 1 Debian Server somit 5 Linux Systeme die man mehr oder weniger alle gleich sichern kann.

Als erstes solltet Ihr euch ein Speichermedium besorgen ich nutze dazu eine 2TB HDD Disk die ich an dem Server angeschlossen habe. Wie Ihr diese dort einbindet würde hier den Rahmen sprengen ich benutze hier openmediavault und hab die Festplatte im ext4 Format formatiert und eingebunden.

Die SMB/CIFS Freigabe bzw. die Festplatte habe ich SmarthomeBackup benannt. Somit ist mein Pfad für den Explorer etc. \\Server\SmarthomeBackup

1. Mount Verzeichnis erstellen:

Im nächsten Schritt mounten wir diese Festplatte auf dem Raspberry Pi, dazu erstellt Ihr ein Verzeichnis in das die Festplatte dann gemounted wird.

cd /home/pi
sudo mkdir DRIVE
cd DRIVE
sudo mkdir share
cd ..

Nun wurde ein Verzeichnis auf dem Raspi erstellt mit dem Pfad /home/pi/DRIVE/share in dem dann die Festplatte gemounted wird und das Backup gespeichert wird. Falls Ihr openhabian nutzt solltet ihr das pi ersetzen in /home/openhabian…..

2. NAS Festplatte mounten:

Mit diesem Befehl wird dann die externe Festplatte am Server in dieses gerade erstellte Verzeichnis gemounted:

sudo mount -t cifs -o username=yourusername,password=yourpassword //Server/SmarthomeBackup /home/pi/DRIVE/share

Falls sich Daten auf der Festplatte befinden bzw. ihr eine Datei hinein kopiert um zu überprüfen ob die Festplatte eingebunden wurde könnt Ihr das mit diesem Befehl überprüfen:

cd /home/pi/DRIVE/share
ls

Die Dateien werden jetzt angezeigt.

3. Automatischen Mount einrichten:

Um jetzt den mount Vorgang bzw. das automatische mounten nach einem reboot einzustellen müsst Ihr eine Zeile in fstab hinzufügen mit:

sudo nano /etc/fstab

Am Ende der Datei fügt Ihr dann diese Zeile hinzu und speichert diese:

//Server/SmarthomeBackup /home/pi/DRIVE/share cifs username=yourusername,password=yourpassword 0 0

Jetzt wird bei jedem Boot Vorgang die Festplatte automatisch gemounted.

4. USB Device mounten:

Um eine Festplatte zu mounten die an einen USB Anschluss des Rasperry Pi´s angeschlossen ist erstellt Ihr ebenfalls ein neues Verzeichnis wie oben beschrieben. Dann überprüft Ihr ob bzw. welchen Namen die Festplatte zugewiesen bekommen hat mit:

sudo lsblk

hier zu sehen “sda”

Dann wird die Festplatte mit… gemounted

sudo mount /dev/sda /home/pi/DRIVE/share 
  • Achtung diesen Schritt nur durchführen falls Ihr eine Fehlermeldung wie “mount: /home/openhabian/DRIVE/share: wrong fs type, bad option, bad superblock on /dev/sda, missing codepage or helper program, or other error” bekommt müsst Ihr das Laufwerk bzw. die Festplatte partitionieren mit:

!!>Wichtig<!! Bei dd-Backup(infos dazu weiter unten) kommt es darauf an ob Ihr nachdem das Backup erstellt wurde das Laufwerk mit einem Linux PC oder einem Windows PC lesen wollt für Linux nutzen wir ext4 für Windows ntfs. Natürlich könnt Ihr das Laufwerk auch an einem PC im richtigen Format formatieren/partitionieren.

#Linux:
mkfs.ext4 /dev/sda
#Windows:
mkfs.ntfs /dev/sda

Dann funktioniert der mount.

  • Hier gehts mit der “normalen” Konfiguration ohne Fehlermeldung weiter!

Die UUID bekommt Ihr mit:

sudo blkid -o list -w /dev/null

Diese Zeile wird dann in /etc/fstab am Ende eingefügt:

#Linux
UUID=91980414-0f48-4759-9d0b-ddffdd1e216e /home/openhabian/DRIVE/share ext4 defaults 0
#Windows
UUID=91980414-0f48-4759-9d0b-ddffdd1e216e /home/openhabian/DRIVE/share ntfs defaults 0

5. raspi Backup Skript installieren:

Nun installieren wir das Programm bzw. das raspiBackup Skript mit:

curl -L https://raspibackup.linux-tips-and-tricks.de/install | sudo bash

Ihr bekommt dann ein Konfigurations bzw. InstallationsTool angezeigt. Beim ersten start bestätigt Ihr mit OK und kommt dann zum Wilkommens Screen:

Hier könnt Ihr dann die Sprache ändern. Dann wählt Ihr Install components aus.

Bei dieser Auswahl installiert Ihr zuerst I1 (Install raspiBackup using a default configuration & I2 Install and enable samle extension

Nach der Installation geht Ihr mit <Back> zurück.

Dann wählt Ihr Configure major options aus.

Jetzt ist es an der Zeit das Backup bzw. die Regeln zu definieren. Dazu wählt Ihr als erstes den C2 Backup path aus und gebt dort das bei Punkt 1. erstelle Verzeichnis ein hier in diesem Beispiel /home/openhabian/DRIVE/share

Bei dem nächsten Menü Punkt C3 Backup Versions könnt Ihr auswählen wieviele Backups auf dem Medium gespeichert werden soll, ich belasse diese Einstellung als Default.

Der Menü Punkt C4 Backup Type behandelt die Art des Backups bitte schaut euch dazu die Doku auf https://www.linux-tips-and-tricks.de/en/backup/#butypes an. Im Grunde genommen würde ich bei kleinen SD Karten als Boot Medium das “dd Backup” auswählen da hier ein komplettes Image gespeichert wird und Ihr dieses dann mit win32disk z.b. auf eine neue SD Karte wieder herstellen könnt.

Bei größeren Systemen bietet sich rsync aber auch tar an. Bei rsync werden nur veränderte Daten neu gespeichert (außer beim ersten Backup) beim tar Backup wird auch das ganze System gespeichert aber komprimiert. Beide Versionen rsync und tar müssen mit einem Linux System/selbes Betriebssystem welches das Backup erstellt hat wiederhergestellt werden. Dazu aber wie gesagt mehr auf der Doku Seite. Ich nutze hier als Beispiel die dd Backup Methode da das Beispiel openhabian System auf einer SD Karte mit 16GB läuft.

Menü Punkt C5 Backup Mode belasse ich auch bei den Default Wert.

Der Punkt C6 Services to stop and start ist sehr wichtig! Hier müsst Ihr die Services auswählen die vor einem Backup gestoppt werden sollen um evtl. Schäden an den Daten vorzubeugen.

Hier wählt Ihr einfach die Services nach der Reihe aus es wird dann auch angegeben welcher Service zu erst und welcher zuletzt gestoppt wird. Beim Starten läuft das ganze dann umgekehrt.

Ich habe hier diese 3 Services ausgewählt aber es kommt immer auf das System an, dazu auch mehr auf der Doku Seite:

Bei C9 Regular backup kann die Zeit eingestellt werden wann das Backup laufen soll.

Bei C10 könnt Ihr das ganze Backup dann noch komprimieren.

Nun geht Ihr auf <Back> und werdet dann gefragt ob Ihr die Einstellungen speichern wollt, bestätigt dieses mit OK.

Nachdem Ihr nun auf Finish gegangen und zweimal Bestätigt habt ist die Konfiguration abgeschlossen.

Um jetzt das erste Backup manuell zu starten gebt in der Console diese Zeile ein:

sudo raspiBackup.sh

Dann läuft das Backup “hoffentlich” ohne Fehler durch 😉

Natürlich könnt Ihr in der Konfiguration noch weitere Einstellungen vornehmen aber grundsätzlich läuft das Backup jetzt automatisch, falls Ihr natürlich die C9 Regular backup Funktion aktiviert habt. Mir gefällt die Methode mit raspiBackup sehr gut und hatte bisher auch noch keine Probleme damit.

Um die Konfiguration wieder aufzurufen gebt Ihr einfach diese Zeile ein:

sudo raspiBackupInstallUI.sh

Je nachdem wie groß das zu speichernde Medium ist kann das Backup schon eine Weile dauern. Hier in diesem Beispiel mit einer 16GB SD Karte wurde die komplette .img Datei innerhalb von 17min erstellt. Hier kommt es natürlich auf die Größe des Boot Mediums, die Verbindungsart zum Backup Medium und auf das Backup Medium selber an.

Jetzt könnt Ihr das externe Speichermedium mit einem Computer verbinden und so dann eine neue SD Karte beschreiben und wiederherstellen (dd Backup). In diesem Beispiel habe ich das ext4 Format gewählt dieses kann ich dann nur mit Linux lesen. Oder hier mit diesem Programm in Windows – https://sourceforge.net/projects/ext2read/ . Wie oben beschrieben, falls Ihr Windows nutzen wollt wählt als Format ntfs! Diese Einstellung bzw. Formatierung ist aber nur bei einem dd Backup nötig.

6. Wiederherstellen eines Backups:

Wiederherstellen auf eine SD Karten

  1. Das gesicherte System heisst im Beispielaufruf raspberrypi
  2. SD Karte die die Wiederherstellung erhalten soll ist im Beispiel als sdf verfügbar.
  3. Das zu wiederherstellende Backup ist unter /remote/raspifix/disks/backup/rsync/raspberrypi-rsync-backup-2014130-213032/ verfügbar
sudo raspiBackup.sh -d /dev/sdf /remote/raspifix/disks/backup/rsync/raspberrypi/raspberrypi-rsync-backup-20141230-213032/

Wiederherstellen auf ein USB Speichermedium

sudo raspiBackup.sh -d /dev/sdf /remote/raspifix/disks/backup/rsync/raspberrypi/raspberrypi-rsync-backup-20141230-213032/

Ein Gedanke zu “RaspiBackup – Einfaches Backup für den Raspberry Pi

  1. Danke für deine Anleitung.

    Ich möchten OpenHab 2 auf 3 upgraden und wollte zuvor ein BackUp auf mein NAS machen. CIFS hat bei mir nicht funktioniert. Nach weiteren Recherchen im Netz habe ich das Laufwerk (Synology NAS) dann per NFS eingebunden.

    Dein Anleitung zur Wiederherstellung des BackUps auf einem RasPi ist weniger ausführlich und ich kann sie nicht anwenden. Evtl. magst du diesen Teil noch anpassen?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.