raspiBackup - Nie mehr Stress beim Neuaufsetzen!
Nach einigen Jahren ohne wirkliches Backup meiner Raspberry’s, hat es mich in letzter Zeit einfach zu häufig erwischt. Mir sind in kürzester Zeit zwei Raspi’s abgeschmiert, genauer gesagt war bei beiden die SD-Karte das Problem. Bei der Neuaufsetzung meines Zigbee Gateways habt ihr mich ja evtl. begleitet. Was ihr vermutlich noch nicht wisst, es hat auch noch meinen Office-Pi erwischt. Das ist der älteste im Verbund und hat dementsprechend auch die meisten Aufgaben übernommen. Darunter das Backup vom Backup. Also Stand ich mal wieder vor der Aufgabe einen Raspberry fertig zu machen. Ich bin relativ schnell geworden da ich natürlich einzelne Applikationen der Raspberrys gesichert hatte aber trotzdem dauert dies natürlich etwas. Daher meine Suche nach einer schnelleren oder zumindest einer automatisierten Lösung.
Bei meiner Recherche bin ich auf raspiBackup gestoßen! Folgend möchte ich wieder mit euch zusammen die Installation, Konfiguration und Benutzung, Step by Step durchgehen. Zielsetzung soll es sein, ein komplettes Backup eines speziellen Raspberry Pi’s zu haben, welches ohne größeren Aufwand zurückgespielt werden kann.
raspiBackup wurde von framps erstellt und erweitert. Aktuell ist es als Download auf der Webseite www.linux-tips-and-tricks.de verfügbar. Es kommt mit einem User Interface daher um die Konfiguration so simpel wie möglich zu gestalten. Natürlich lässt es sich auch über die Shell starten und stoppen. Da bei mir alle Raspis mit installiertem Desktop laufen, wird dieses Tool direkt beim Aufsetzen mit installiert. Im Zuge der Neuaufsetzung des „zigbeepi“ habe ich direkt einen Artikel diesbezüglich erstellt. Wie immer kann ich nur auf mein spezielles Szenario eingehen. Sollte es bei euch abweichen und ihr hier nicht komplett fündig werden, dann schaut bitte bei „framps“ vorbei. Er hat sich viel Mühe gegeben und echt eine gute Dokumentation zusammengeschrieben (es gibt sogar ein Video). RaspiBackup wurde unter der Lizenz GPL-3.0 erstellt und ist somit zur unentgeltlichen Nutzung freigegeben. Wie immer gilt, wenn es euch gefällt und hilft honoriert das!
Mein Szenario:
Raspberry Pi 3B mit Raspian Buster auf einer SD Karte. Diese SD Karte und alle darauf enthaltenen Partitionen, sollen auf ein Samba Share gesichert werden. Auf dem Samba Server liegt das Backup auf einer mit EXT4 formatierten Platte.
Fangen wir an………
Wir befinden uns auf der Desktopoberfläche vom Raspi. Als erstes starten wir das Terminal. Aufmerksame Leser wissen es noch, es ist oben in der Leiste rechts neben den Ordnern (größer als und Unterstrich:-).
Da wir in der Konfiguration direkt den Backuppfad mit angeben müssen/sollen, fangen wir mit dem Einbinden der Samba Freigabe an. Ich habe mir dazu einen Ordner, in meiner Sicherungsfreigabe, mit dem Raspberry Namen erstellt, welchen ich in das Home Verzeichnis von pi einbinden werde. Die Erreichbarkeit des Servers und die korrekte Funktion, setze ich voraus.
Erstellen eines lokalen Ordners welchen wir als sogenannten Mountpoint verwenden.
sudo mkdir /home/pi/backup
Jetzt mounten wir unsere Freigabe in den Ordner. Dazu geben wir die folgende Befehlszeile in die Datei „fstab“ ein. Der Vorteil daran ist, dass bei jedem Systemstart die Freigabe wieder eingebunden wird.
sudo nano /etc/fstab
In diese Datei schreiben wir am Ende die folgende Zeile rein (ich nutze immer ein Tab zwischen den Einträgen). Natürlich passt ihr bitte wieder die IP Adresse und den Username sowie das Passwort an eure Begebenheiten an. Bitte lasst unbedingt eine leere Freizeile am unteren Ende der Datei. Sonst könnte es Probleme geben. Nach Eingabe speichern und verlassen wir die Datei.
//192.168.X.X/Sicherung /home/pi/backup cifs username=euername,password=euerpasswort 0 0
Als letztes mounten wir noch alle Einträge in der fstab, welche aktuell noch nicht verbunden sind. Solltet ihr keine Fehlermeldung bekommen, ist das erst mal ein gutes Zeichen. Ich prüfe dies gern nochmal indem ich vorher und nachher in den backup Ordner schaue.
ls -l /home/pi/backup
Der Ordner sollte leer sein!
sudo mount -a
ls -l /home/pi/backup
Jetzt sieht es bei mir so aus!
Das war es mit der Freigabe und weiter geht es mit dem eigentlichen Thema dieses Artikels!
Als erstes laden wir das Installer UI herunter und führen es im Anschluss direkt aus.
curl -sSLO https://www.linux-tips-and-tricks.de/raspiBackupInstallUI.sh && sudo bash ./raspiBackupInstallUI.sh
Jetzt startet auch schon das Konfigurationsprogramm. Das erste Fenster erläutert uns die Tastatursteuerung des User Interface. Dies bestätigen wir mit Ok. Im nächsten Fenster haben wir die Möglichkeit die Sprache einzustellen. Diese war bei mir auf Deutsch, was ich so lassen kann. Wer gerne auf Englisch weitermachen will, kann es genau dort machen. Der zweite Punkt „installiere Komponenten“ klingt da doch spannender.
Wenn wir diesen Punkt auswählen sehen wir wieder zwei Auswahlmöglichkeiten. Wählt bitte den Punkt mit der Standardkonfiguration. Dann lädt das Tool automatisch die benötigten Dateien herunter und installiert diese auch.
Wir landen final wieder bei den beiden Installationspunkten, welche wir über zurück verlassen.
Wie ihr seht, haben wir jetzt die Punkte „Konfiguriere die wichtigsten Optionen“ und „Lösche Komponenten“ dazu bekommen. Wir wollen natürlich die wichtigsten Optionen konfigurieren und wechseln in dieses Menü.
Die Sprache haben wir ja schon eingestellt. Also legen wir den Backuppfad fest. Hier geben wir den oben festgelegten Ordner an.
Als nächstes müssen wir entscheiden, wie viele Backups wir vorhalten wollen, von welcher Art und vor allem in welchen Zeitraum. Da es bei meinen Raspis eher selten Änderungen gibt, reicht mir ein Backup pro Woche aus. Hier muss jeder von euch selber entscheiden!
Anzahl Backups: Ich wähle hier nur 1 Backup
Backup Typ: Ich entscheide mich für den Backup Typ „tar“.
Backup Modus: Unsere Beispiel Raspi hat nur die zwei Standardpartitionen.
Services: Ich lasse alle Services laufen!
Meldungsgenauigkeit: Ich behalte die Standardeinstellung bei.
Benachrichtigung: Ich habe nicht vor die Email Benachrichtigung zu benutzen.
Regelmäßigkeit: Mir reicht ein wöchentliches Backup und das immer Dienstags um 4 Uhr früh.
Komprimierung: Ich will es nicht komprimieren lassen. Haben ja genügend Speicherplatz.
Das war es schon mit den Einstellungen. Wer noch mehr einstellen möchte, kann dies über die Konfigurationsdatei gerne machen. Hier gibt es noch einige Möglichkeiten. Ich verweise hier wieder gerne auf die Seite http://www.linux-tips-and-tricks.de/.
Eigentlich sind wir jetzt durch! Allerdings würde ich ein Test des Backup empfehlen. Dies kann länger dauern und könnte euren Raspi etwas in Wallung bringen. Also führt dies nur aus, wenn ihr nicht gerade auf diesem noch Arbeiten wollt. Der Vollständigkeit halber mache ich dies jetzt einmal mit euch zusammen. Führt den folgenden Befehl über das Terminal Programm aus, natürlich nachdem ihr RaspiBackup beendet habt.
sudo raspiBackup.sh -a : -o : -m detailed
Nach knapp 2 Stunden war das Backup fertig! raspiBackup hat folgende Datei auf der Freigabe abgelegt.
Um das Backup zurück zu spielen, benötigt ihr jetzt nur noch einen Kartenleser und einen Raspi der läuft. Leere SD-Karte in den Leser und an den Raspi angesteckt. Dort dann über das Terminal in Erfahrung bringen, wie die Karte heißt. Bitte gebt dazu folgenden Befehl ins Terminal ein.
sudo fdisk -l | egrep "^Disk /|^/dev"
Ihr seht eine Liste aller Partitionen auf allen Datenträgern. Man kann die entsprechende Karte sehr gut an ihrer Größe ausmachen. Eine 16GB Karte sollte also irgendetwas kleineres anzeigen. Wichtig ist, eine leere SD-Karte hat keine Partition. Also es darf keine Zahl dahinter stehen. Bei all meinen Tests, war die Karte unter /dev/sda zu finden.
Jetz nur noch den raspiBackup Befehl absetzen und warten.
sudo raspiBackup.sh -d /dev/sda /home/pi/backup/zigbeepi/zigbeepi-tar-backup-20191112-040001/
Hei, klasse! Gefællt mir richtig gut. Macht was es soll, gut verstændlich und leicht umsetzbare Anleitung.
Eine Frage: In meinem raspi4b steckt eine microSD, welche nur /boot beinhaltet. Zum booten reicht das und auf dem Datentræger wird idR nichts geændert (so lebt die microSD længer). Das rootfs (raspian minimal buster+kodi+securityzeugs) liegt auf einem USB-Stick.
Ist was in Planung eine solche (vielleicht nicht unuebliche?) config in raspiBackup aufzunehmen? Also auch das rootfs in einem zweiten ‚dir‘ zu sichern?
Thx!
Ytre
Hallo Ytre,
schön das dir der Artikel gefallen und geholfen hat! Dafür mach ich sowas.
Grundsätzlich kann ich leider keine Informationen zur Road Map von raspiBackup liefern, da ich nicht an der Entwicklung beteiligt bin. Für wirkliche Aussagen zu und um raspiBackup muss ich dich an framp verweisen. Einfach mal auf seine Seite gehen – http://www.linux-tips-and-tricks.de.
Aber jetzt zu deiner Frage! Eigentlich sollte raspiBackup bei normalen Parametern ein externes Root FS mit sichern. Das habe ich zumindest auf framp’s Seite gelesen. Habe jetzt auf die schnelle den Pasus gefunden.
„Ein externes Rootfilesystem auf einer Platte oder einem USB Stick wird automatisch beim normalen Backupmodus mitgesichert und restored bei tar oder rsync backup (raspiSD2USB.py hilft beim Umziehen)“
Schau dir doch nochmal die Konfiguration von raspiBackup an. Es sollte mit Bordmitteln gehen.
Bis hoffentlich bald.
cedigger
So ist es. raspiBackup unterstuetzt auch den mixed Mode auf aelteren raspberries die noch keinen USB boot unterstuetzen. D.h. es kann die Bootpartition auf einer RO SD Karte liegen und das Rootfilesystem auf einem USB Stick oder einer USB Platte.
Hallo framp,
danke für die Bestätigung! Und auch auf die Gefahr das dein Name nur zufällig gleich dem des Ersteller von raspiBackup ist, ein dickes Dankeschön für die Software. Hat zumindest mir ein paar Nächte erspart. Aber ich bin da bestimmt nicht alleine.
Bis die Tage.
cedigger
Habe installiert, grafisch konfiguriert und raspiBackup ausgeführt, klappt alles.
Nun meine Frage, kann ich irgendwie die Einstellungen ändern (grafisch) oder muss ich jedesmal
selber in der .conf händisch ändern?
LG