raspiBackup - Sichere Deine Raspberry regelmäßig im laufenden Betrieb

  • Erfreulicherweise gibt es jetzt ein Forum zum wichtigen Thema Backup und ich wurde gebeten mein Backuptool vorzustellen. Ich benutze es schon sehr lange erfolgreich um meine Raspberries @home zu sichern. Immer mal wieder musste ich auch ein Backup wiederherstellen.


    Eine regelmäßige Sicherung der Raspberry ist sehr angeraten denn die SD Karte hat keine unbegrenzte Lebensdauer und auch sonst sollte man immer wieder wenn auch ein USB Stick oder eine USB Platte als root Partition benutzt wird regelmäßig ein Backup erstellt werden. Man kann mal aus Versehen irgendwas misskonfigurieren oder aber ein Systemupdate trägt dazu bei dass die Raspberry nicht mehr startet.


    Ich habe dazu ein Tool mit dem Namen raspiBackup geschrieben welches unter der GPL steht und als Open Source im github zur Verfügung steht. Es erlaubt eine Raspberry im laufenden Betrieb zu sichern, als dd Image, als tar oder per rsync wobei Hardlinks wenn möglich benutzt werden. Natürlich kann das Backup vermittels eines Linux Systems wie z.B. Raspbian auch wieder auf eine andere SD Karte oder USB Stick/Platte zurückgespielt werden.

    Unterstützt ist einmal Raspbian auf SD Karte, dann Raspbian mit Boot Partition auf SD Karte und eine externe root Partition sowie Raspbian im USB Boot Modus ohne SD Karte.


    Ich persönlich benutze rsync, aber es gibt Benutzer - primär Windows Benutzer - die möchten ein Restore lieber per win32diskimager, Etcher und anderen Windowstools vornehmen und benutzen deshalb den dd Backup. tar Backup wird ebenso häufig benutzt. Ein jeder Backuptyp hat seine Vor- und Nachteile.


    raspiBackup ist mittlerweile 6 Jahre alt und der Funktionsumfang ist in der Zeit durch Ideen und Anforderungen der Community sehr gewachsen. Es gibt eine ausführliche Beschreibung aller Optionen, einen FAQ Bereich, eine Seite wo zu Fehlermeldungen die Fehlerursache und -behebung beschrieben wird, mögliche Einsatzszenarien und viele weitere Informationen. Ich bekomme immer wieder Feedback dass die Dokumentation zu umfangreich ist :shy:


    Um eine Installation möglichst schnell vornehmen zu können gibt es einen Installer für raspiBackup, der wie rpi-config mit Menus arbeitet. Er wurde mit tatkräftiger Unterstützung beim Design wie auch Test von Forenmitgliedern erstellt. Dort werden aber nur die wichtigsten Optionen abgefragt und automatisch in der Konfigurationsdatei abgelegt. Danach kann sofort ein Backup manuell erstellt werden oder wird automatisch regelmäßig per cron erstellt sofern es konfiguriert wurde. Wichtig ist sich die FAQ Seite vorher einmal zu Gemüte zu führen. Natürlich sollte man auch einen Restore vornehmen um das Backup zu testen und sich mit den Restoreschritten vertraut zu machen. Es gab schon öfters Anfragen zum Restore weil Benutzer so nervös waren, dass Ihre Raspberry nicht mehr lief und sie deshalb keinen Restore hinbekamen. Will man andere Optionen ausser den Standardoptionen des Installers benutzen muss man sie entweder per Aufrufoption mitgeben oder manuell in der Konfigurationsdatei definiern.


    Wer ein Problem in raspiBackup findet sollte sie möglichst im github berichten denn durch das Tool kann ich Probleme genau tracken. Die Alternativen sind Beiträge hier im Forum, Kommentare auf meiner Webseite oder auch auf Facebook. Am liebsten sind mir github oder das Forum. Wer Ideen zu Erweiterungen oder neuen Funktionen hat kann sie dort auch gerne plazieren.


    Es gibt auch Beispielscripts im github die ermöglichen die Integration von pishrink um minimalste Images zu erstellen sowie andere Dinge vor und nach einem Backup vorzunehmen (Erstellen eines dd Images von einem rsync Backup, Erstellen des Backups in einem Image um xattrs per rsync über nfs zu sichern, ...). Weiterhin gab es einen Benutzer der wollte ein regelmäßiges rotieren der Backups, also 7 Tagesbackups, 4 Wochenbackups, 12 Monatsbackups und 5 Jahresbackups und wir haben gemeinsam ein Script erstellt. Es ist geplant diese Funktion in die nächste raspiBackup Version zu integrieren.


    Sofern man raspiBackup mit einer eMail konfiguriert hat bekommt man nach jedem Backuplauf eine eMail mit allen Meldungen. Gibt es eine neue Version von raspiBackup oder eine Beta wird man darauf hingewiesen und kann mit raspiBackup die neue Version bzw die Beta installieren. Ebenso kann man wieder auf eine vorherige Version zurückgehen. Zusätzlich wird man in gewissen Abständen daran erinnert einen Restoretest durchzuführen, denn nichts ist so unangenehm wie wenn man im Falle eines Crashs beim Restore feststellt, dass das Backup nicht OK ist :wallbash:


    Ich habe viel Zeit reingesteckt raspiBackup möglichst benutzerfreundlich zu machen. Jedenfalls hoffe ich es hilft auch Euch Eure Raspi regelmäßig zu sichern und im worst case wiederherzustellen ;)


    Zum Schluss noch einen Hinweis: Ein laufendes System zu sichern ist praktisch aber auch nicht unumstritten. Ein 100% sicheres Backup kann man nur erstellen wenn man das System im gestoppten Zustand sichert. Wenn man aber alle Services, die Daten auf dem System verändern oder cachen vor dem Backup stoppt kann man das Risiko ein inkonsistentes Backup zu erhalten sehr reduzieren. Es gibt Benutzer von raspiBackup die stoppen keine Services und der Backup ist konsistent. Es kommt aber eben immer auf das jeweilige Environment an. Jedenfalls kann im Installer auch festgelegt werden welche Services zu stoppen sind und nach dem Backup auch wieder automatisch gestartet werden. Es ist eben wichtig den Restore gut zu testen.

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert =O Bei mir tut das raspiBackup automatisch ;)

    Edited 17 times, last by framp ().

  • Hoffe meine Frage ist jetzt nicht zu ***


    Hintergrund:

    Habe eben einen neuen Systemstand auf die SD übertragen.

    Jetzt würde ich gerne sofort diesen Systemstand mit RaspiBackup auf einen

    unter mnt/sda1 gemounteten USB-Stick sichern.

    Der USB-Stick hat die gleiche Größe wie die verwendete SD-Karte.

    Steckt alles zusammen in einem PI4 / 4GB


    Wie kann ich am besten ein Sofort-Backup anstoßen.

    Am liebsten in komprimierter Form,

    so das ein komprimiertes File auf dem (USB-Stick) sda1 landet.


    Thx + BG

    ux


    Nachtrag:

    Das komprimierte File / Datei sollte sich naher entpacken lassen und per Etcher oder DiskImager wieder auf eine SD Karte flashen lassen.

  • Das ist mit dem erwähnten – ganz großartigen und nach kurzer Eingewöhnung sehr leicht zu benutzenden – Skript problemlos möglich. Auf der oben verlinkten Seite findet sich alles, was man dazu wissen muss. Ich kann das nur sehr empfehlen, es ist eine großartige Arbeit, funktioniert fehlerlos und (dank Crontab) von selbst und unbeobachtet und macht genau, was es soll. Einfach einrichten und vergessen. Besser geht es nicht.

  • Dann ist wohl dd im Zusammenspiel mit pishrink was für dich. Allerdings sollte beachtet werden, dass man in der Regel eine Speichermöglichkeit haben sollte, die größer ist, als die SD-Karte.

    Wie es mit raspiBackup aussieht, kann ich nicht sagen, aber ich kann dir erklären, wie du so ein "Sofort-Backup" auch ohne machst:

    Edited once, last by Zottel ().

  • Vielleicht besteht die Möglichkeit mit als Neuling etwas auf die Sprünge zu helfen.

    Könntest du mir bitte den Befehl für ein Sofort-Backup als Code zur Verfügung stellen?

    RaspiBackup ist schon eingerichtet.

    Mir fehlt nur das sofortige Ausführen zu Sicherung.


    Danke + Beste Grüße

    ux

  • Vor der Ausführung musst Du die Konfiguration machen. Darüber steht alles auf der Homepage. Das ist ein wenig komplex, weil es sehr viele Optionen gibt. Aber man muss das ja nur einmal machen, und es ist gut erklärt.

  • Von RaspiBackup gibt es auch ein Benutzerhandbuch. In der Funktionsübersicht steht da auch:


    dd und tar kann gezippt werden um die Sicherung noch zu verkleinern (-z Option)



    Servus !

    RTFM = Read The Factory Manual, oder so

  • Danke für die Hinweise auf die man pages.


    Da muss ich jetzt wohl durch. :conf:


    Das mit dem pishrink / -z hab ich schon verstanden.


    Mir ging es um einen direkten Aufruf für ein Sofort-Backup.


    Vielen Dank für eure Zeit. :danke_ATDE:

    THX+BG

    ux


    WTF

  • Wie Auerhahn schon schrieb: Du musst raspiBackup mit dem Installer installieren und konfigurieren. Da Du keine speziellen Features benutzt kannst Du alles mit dem Installer konfigurieren. Ich empfehle immer rsync zu benutzen und das auf ein ext3/4 Filesystem zu schreiben. Backup dauert beim ersten Mal laenger - aber alle folgenden Backups sind wesentlich schneller.

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert =O Bei mir tut das raspiBackup automatisch ;)

  • Ich bevorzuge das DD-Backup, weil ich dann das Image leicht unter Windows auf eine Speicherkarte schreiben kann. Aber das ist natürlich Geschmackssache. Wie lange es dauert, ist mir eigentlich egal, weil ich das Backup regelmäßig einmal im Monat in der tiefen Nacht machen lasse, Da stört es keinen.... ;)

  • Ich weiss, das ist so wie ich es sehe immer das Argument fuer ein dd Backup. Hat aber auch eine Kehrseite: Da das ein 1:1 Abzug ist bekommst Du nicht mit ob es Lesefehler bei Dateien gibt und sicherst korrupte Dateien im Glauben dass Dein Backup OK ist :-/

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert =O Bei mir tut das raspiBackup automatisch ;)

  • Aber dann nicht mich hauen wenn Du mal in dieses Loch reinfaellst :shy:

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert =O Bei mir tut das raspiBackup automatisch ;)

  • Kurze Rückmeldung von meiner seite,

    konnte den Sofort-Backup-Job mangels Kenntnis

    der Dokumentation von raspiBackup nicht umsetzen.


    Der sda1 / USB-Stick langweilt sich jetzt nicht mehr, weil der pi4 runter gefahren ist.

    Meine Lösung ist eine Sicherung (DD-Backup) mit win32diskimager zu erstellen.


    Hauptsache die Daten von dem Testsystem werden über Nacht gesichert.

    Morgen mal schauen was 7-Zip zu den 64 GB Daten sagt.

    Meine in wieweit das 1 zu 1 Image komprimiert werden kann.


    Möchte nicht nach jedem Fehler den ganzen Kram nochmal machen.


    Bin mittlerweile über 30+ und schaffe nicht 3 Baustellen am Tag.

    SPS / HMI + qemu + pi4 + Kaffeemaschine kaputt.


    To hard 4 me. :notfunny:

    ux


    Anhang:

    https://de.wikipedia.org/wiki/7-Zip

  • konnte den Sofort-Backup-Job mangels Kenntnis

    der Dokumentation von raspiBackup nicht umsetzen.

    Schade :(. Koenntest Du noch beschreiben was Deine Probleme waren? Ich habe wirklich versucht den Installer soweit zu schreiben dass eine Basisinstallation und -konfiguration schnell moeglich ist und werde den Installer auch gerne verbessern. Nur brauche ich dazu Feedback :shy:

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert =O Bei mir tut das raspiBackup automatisch ;)

  • Alles Gut, liegt an mir und meiner begrenzten Zeit.

    RaspiBackup ist prima.


    Ist aus meiner sicht für die Sicherung von Produktiv-Systemen optimiert.

    Dieses schnell und sofort sicheren ist ja keine alltägliche Frage.


    Wie gesagt, es gibt sicherlich eine Möglichkeit eine direktes Backup zu implementieren.

    War mit heute nicht vergönnt diese Möglichkeit zu finden.


    BG+THX

    ux

  • Wie gesagt, es gibt sicherlich eine Möglichkeit eine direktes Backup zu implementieren.

    Für ein Q&D Backup ist dd oder win32diskimager (das dd auf Windows) sicherlich eine Option. Wenn Du mal raspiBackup installiert hast gibt es noch die Option -M fuer einen quasi Snapshot. Leider momentan noch ein Fullbackup - wird aber demnaechst bei rsync ein incrementeller Backup werden.

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert =O Bei mir tut das raspiBackup automatisch ;)

  • Habe als erstes raspiBackup installiert,

    nur nicht die Lösung für ein Sofort-Backup gefunden.


    War ein harter Tag und morgen versuche ich die -M Option umzusetzen.

    Möchte ja nicht jeden Abend die SD-Karte raus nehmen und am Morgen wieder einsetzen.


    Vielleicht gibt es ja ein schon bestehendes Open-Source System wie Nextcloud

    wo die Komprimierung des DD Datenstrom automatisch erfolgt.


    Meine einen im Speicher liegenden Packer wie 7 Zip,

    der die Ziel-Datei zb. in einer Datenbank während der Übertragung komprimiert.


    Nur so als Idee.


    Dann noch ein kleines Gnome-GUI mit der Möglichkeit die schon per Installer definierten

    Optionen zu sehen und ein Emergency-Now-Backup auszuführen.


    Meine eine Notfall-Sofort-Sicherung mit dem stoppen der zuvor im Installer definierten Dienste.

    Für Testsystem mit Sicherheit ein Vorteil.


    Zusammengefasst, wäre es prima wenn der DD-Datenstrom währender der Übertragung

    vom Zielsystem komprimiert wird.


    Meiner Erfahrung nach geht später das Auspacken schneller wie das Einpacken.


    framp

    Vielen Dank für Deine Arbeit + raspiBackup :thumbup:


    BG ux