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

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • 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 einen USB Stick oder eine USB/SSD benutzt wird regelmäßig ein Backup erstellt werden. Man kann auch mal aus Versehen irgendwas misskonfigurieren so dass das System nicht mehr startet oder man feststellt dass sich nach einer Aenderung das System nicht mehr korrekt verhaelt. Die Option -M fuer raspiBackup Snapshots ist auch sehr angeraten wenn ein System neu aufgesetzt wird um bei Fehlern nicht immer wieder von vorne anfangen zu muessen.

    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 10 Jahre alt (Stand 25.9.2023) 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.

    Sofern man raspiBackup mit einer eMail konfiguriert hat bekommt man nach jedem Backuplauf eine eMail mit allen Meldungen. Alternativ kann man die Meldungen an Telegram, Pushover oder Slack schicken lassen.

    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 ;)

    Es gibt mittlerweile 270 Meldungen mit einer Meldungsnummer die darueber informieren was raspiBackup gerade tut sowie auf Konfigurations- oder Umgebungsfehler hinweisen. Auf dieser Seite habe ich die Ursachen der Meldungen sowie ihre Loesungsmoeglichkeiten beschrieben. Oft hilft es auch die Fehlermeldungsnummer (sie beginnen mit RBK gefolgt von einer Nummer sowie dem Meldungstyp I,W oder E) in eine Suchmaschine einzugeben um eine Loesungen zu finden.

    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 das System welches restored wurde gruendlich zu testen.

    Die Tage (Maerz 2024) hat Franjo G ein sehr schoenes Tutorial mit dem Thema raspiBackup Installation, Grundeinstellungen, Erstes Backup und Restore erstellt was ich jedem der raspiBackup nutzen moechte ans Herz lege zu lesen und zu folgen.

  • raspiBackup - Sichere Deine Raspberry regelmäßig im laufenden Betrieb? Schau mal ob du hier fündig wirst!

  • 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.

    Body-Count >= 2.2 Million ☠️-covid19-??@?

    ? + ?? >= 2.2 Million ☠️

    2002 | 2019+

    Freedom 4 ?? + ??

    Einmal editiert, zuletzt von unimatrix-0 (4. Oktober 2019 um 18:22)

  • 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:

    Einmal editiert, zuletzt von Zottel (4. Oktober 2019 um 18:41)

  • 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

    Body-Count >= 2.2 Million ☠️-covid19-??@?

    ? + ?? >= 2.2 Million ☠️

    2002 | 2019+

    Freedom 4 ?? + ??

  • 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.

  • 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

    Body-Count >= 2.2 Million ☠️-covid19-??@?

    ? + ?? >= 2.2 Million ☠️

    2002 | 2019+

    Freedom 4 ?? + ??

    Einmal editiert, zuletzt von unimatrix-0 (4. Oktober 2019 um 19:06) aus folgendem Grund: +i

  • 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.

  • 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 :-/

  • 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

    Body-Count >= 2.2 Million ☠️-covid19-??@?

    ? + ?? >= 2.2 Million ☠️

    2002 | 2019+

    Freedom 4 ?? + ??

  • 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:

  • 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

    Body-Count >= 2.2 Million ☠️-covid19-??@?

    ? + ?? >= 2.2 Million ☠️

    2002 | 2019+

    Freedom 4 ?? + ??

  • 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.

  • 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

    Body-Count >= 2.2 Million ☠️-covid19-??@?

    ? + ?? >= 2.2 Million ☠️

    2002 | 2019+

    Freedom 4 ?? + ??

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!