Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv

Ein von raspiBackup erstelltes Backup enthält alle für einen Restore notwendigen Informationen. Der Benutzer Micha wollte aus verschiedenen Gründen den Backup manuell Restoren und hat das freundlicherweise detailiert in einem Kommentar beschrieben. Anbei die Zusammenfassung seiner Beschreibung die sich über 3 Kommentare erstreckt.

 

Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv

Hinweis: Es gibt auch eine von einem raspiBackup Nutzer erstellte Installationsanleitung für raspiBackup  auf dem deutschen Raspberryforum.

Die Dokumentation von raspiBackup ist durch Erweiterungswünsche von Benutzern mittlerweile sehr umfangreich geworden. Auf dieser Seite wird deshalb kurz und knapp Schritt für Schritt erklärt wie man raspiBackup direkt benutzt um sofort ein Backup zu erstellen oder in 5 Minuten raspiBackup installiert und konfiguriert und dann ein Backup der Raspberry erstellen kann. Der Restore ist dann hier für die unterschiedlichen Benutzer mit ihren jeweiligen primären Platformen (Linux, Mac oder Windows) beschrieben. Nachdem man dann sowohl den Backup als auch den Restore getestet hat und geprüft hat welche Services vor dem Backup gestoppt werden müssen lässt man dann raspiBackup automatisch im gewünschten Intervall per systemd timer laufen. Danach kann man in einer stillen Stunde sämtliche Möglichkeiten von raspiBackup hier nachlesen und die Konfiguration den speziellen Bedürfnissen anpassen. In jedem Falle sollte jeder sich die FAQs durchlesen. Der raspiBackup Installer ermöglicht auch raspiBackup wieder komplett zu deinstallieren falls sich nach der Installation und beim Test herausstellen sollte das raspiBackup nicht den Anforderungen genügt.

Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv

Es existieren die folgenden Umgebungsvarianten für raspiBackup in der Release 0.6.2 welche die Raspberry3 auch im USB Boot unterstützt. Weitere Neuerungen sind auf dieser Seite beschrieben. Der Testaufwand beschränkt die Anzahl der getesteten Variationen. Wer immer eine Variante erfolgreich getestet hat die hier noch nicht als getestet markiert wurde wird gebeten das in einem kurzen Kommentar mitzuteilen damit die Tabelle aktualisiert werden kann. Wer sich nicht sicher ist ob sein Benutzungszenario von raspiBackup abgedeckt wurde kann auch gerne nachfragen.

Bewertung: 4 / 5

Stern aktivStern aktivStern aktivStern aktivStern inaktiv

Häufige Fragen zu raspiBackup. Jeder neue Benutzer von raspiBackup sollte sich einmal alle Fragen und Antworten durchlesen.

 

Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv

Mittlerweile haben so viele Leute aus der Community durch Kommentare, Erweiterungsvorschläge und Beta- und Fixtests zu raspiBackup beigetragen, dass es an der Zeit wird sie dankend zu nennen. Sich an alle rückwirkend zu erinnern war mir leider in Anbetracht der grossen Anzahl nicht mehr im nachhinein möglich.

Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv

Es besteht die Möglichkeit eigene Codeerweiterungen vor und nach dem Backupprozess des Scripts einzubinden. Dieses ist sinnvoll, wenn eigentlich Änderungen im Backupscript notwendig sind aber dann natürlich nach jedem Update von raspiBackup auf eine neue Version wieder neu eingepflegt werden müssen. Die Extensions (Plugins) sind unabhängig vom jeweiligen Codestand von raspiBackup und deshalb in diesem Falle zu empfehlen.

Verschiedene Plugins stehen zur Verfügung und dienen als Beispiele für eigene Erweiterungen. Durch die ersten wird  die CPU Temperatur sowie die Hauptspeicher- und Backuppartitionsbelegung sowie die Partitionsbelegung vor und nach dem Backup ausgegeben. Die letzte Erweiterung wird nur am Ende des Backups aufgerufen und kann bei Erfolg bzw Misserfolg des Backups unterschiedliche Aktionen auslösen.

Wer nützliche Plugins für die Community erstellt hat kann sie gerne hier in einem Kommentar beschreiben und die Downloadlocation nennen. Sollten Fähigkeiten der Plugins fehlen einfach einen Kommentar dazu hier hinterlassen und ich prüfe in wieweit die fehlende Funktion eingepflegt werden kann.

 

Pluginaufrufstellen beim Backup

Die verschiedenen Plugins werden an folgenden Stellen im Backupverlauf aufgerufen:

eMail Plugin (mem)

Notification (notify) Plugin wenn eingeschaltet (DEFAULT_NOTIFY_START)

Slack, Pushover und Telegram Notifications falls konfiguriert und wenn eingeschaltet (DEFAULT_NOTIFY_START)

BEFORE_STOPSERVICES (Definierte Befehle werden ausgeführt)

STOP_SERVICES (Definierte Befehle werden ausgeführt)

PRE_BACKUP_EXTENSION

READY_BACKUP_EXTENSION

... erstellen des Backups ...

POST_BACKUP_EXTENSION

START_SERVICES (Definierte Befehle werden ausgeführt

AFTER_STARTSERVICES (Definierte Befehle werden ausgeführt)

... Aufräumarbeiten wie das Löschen von obsoleten Backups (kann länger dauern)

FINAL_COMMANDS (ab Release 0.6.8) (Definierte Befehle werden ausgeführt)

eMail (mail) Plugin

Notification (notify) Plugin

Slack, Pushover und Telegram Notifications falls konfiguriert

... Final housekeeping

Exit

 

Pluginaufrufstellen beim Restore

(Verfügbar ab Releae 0.6.7)

Die verschiedenen Plugins werden an folgenden Stellen im Restoreverlauf aufgerufen:

PRE_RESTORE_EXTENSION

... restoren des Backups ...

POST_RESTORE_EXTENSION
 

Beispielplugins

 

  1. Der einfachste Weg ist die Beispielplugins mit dem Installer zu installieren und zu aktivieren. Entweder über die Menufolge Installiere Komponenten->Installiere Beispielerweiterungen oder direkt über die Befehlszeile (Benutze die Option -e)
    raspiBackupInstallUI.sh
    oder
    raspiBackupInstallUI.sh -e
  2. Wer die Beispielplugins manuell installieren will kann das tar mit diesem Link mit einem Browser downloaden oder auch direkt wie folgt auf die Raspberry downloaden und nach /usr/local/bin auspacken.
    wget http://www.linux-tips-and-tricks.de/raspiBackupSampleExtensions.tgz -O raspiBackupSampleExtensions.tgz
    tar -xzf raspiBackupSampleExtensions.tgz -C /usr/local/bin

Dadurch werden die folgenden Scripte in /usr/local/sbin kopiert:

1) raspiBackup_mem_pre.sh and raspiBackup_mem_post.sh - Berichtet Memory Usage der Raspberry vor und nach dem Backup

2) raspiBackup_temp_pre.sh and raspiBackup_temp_post.sh - Berichtet die CPU Temperatur der Raspberry vor und nach dem Backup

3) raspiBackup_disk_pre.sh and raspiBackup_disk_post.sh - Berichtet die Plattennutzung vor und nach dem Backup

4) raspiBackup_execute_post.sh - Wird am Ende des Backups aufgerufen. Hilfreich wenn eine eigene Erfolg/Fehler Benachrichtigungsfunktion genutzt werden soll.
 

Um die Plugins zu aktivieren ist noch folgender zusätzlicher Aufrufparameter bei raspiBackup notwendig.

-N "temp mem disk execute"

 bzw in die Konfigurationsdatei ist folgende Zeile aufzunehmen

DEFAULT_EXTENSIONS="temp mem disk execute"

Details zu den Aufrufparametern bzw den Konfigurationsparametern siehe hier

There is no need for notification extensions for slack, pushover and telegram. Just configure the corresponding config definitions. If you want to use your own notification extension provide a script called raspiBackup_notify.sh.

Die folgenden Extensions können ein pre und/oder post Script haben und müssen raspiBackup_<extension>_pre.sh und/oder raspiBackup_<extension>_post.sh heissen. 

  1. temp
  2. mem
  3. disk

Alle anderen Extensions müssen kein _pre and _post am Ende haben.

For details of the parameters and config file see this page.

Die Plugins erzeugen folgende Meldungen:

--- RBK1001I: Memory usage - Pre backup - Used: 97 MB Free: 130 MB - Post backup - Used: 98 MB Free: 121 MB
--- RBK1000I: CPU temperature pre and post backup: 53.2'C - 55.8'C
--- RBK1002I: Disk usage pre backup: Used: 1.30 TiB Free: 2.18 TiB
--- RBK1003I: Disk usage post backup: Used: 1.30 TiB Free: 2.18 TiB
--- RBK1004I: Free change: -256.00 KiB (0.00 %)

Meldungen

Die Beispielplugins benutzen Meldungen die ab dem Nummernbereich 1000 beginnen wie z.B. RBK1000I. Wer eigene Plugins erstellt sollte sofern sie Meldungen schreiben diese bei 2000 beginnen lassen und nicht den Bereich unter 1999 benutzen.

 

Interface

Das Plugin bekommt im Aufruf den aktuellen Statuscode von raspiBackup mitgegeben. Ein Statuscode von 0 bedeutet in den Postplugins der Backup war erfolgreich. Jeder andere Statuscode bedeutet dass der Backup beendet wurde.

 

eMailPlugin

Ab der Version 0.6.1.1 gibt es ein emaiPlugin D.h. man kann die emailVersendung selbst programmieren. Das ist dann besonders hilfreich, wenn die vom Script unterstützen eMailProgramme den eigenen eMailClient nicht unterstützen. Ausserdem kann das Aussehen der eMail beliebig geändert werden. Eine Beispielplugins die mailx benutzt befindet sich in den Beispielplugins.

Das Mailplugin wird dadurch aktiviert, dass für den Parameter -s mailext definiert wird. Dann wird das Mailplugin mit dem Namen raspiBackup_mail.sh aufgerufen, die dann den Mailversand vornehmen muss. Die folgenden Parameter werden dem Mailplugin Script übergeben:

email="$1"        # target email address
subject="$2"      # email subject
content="$3"      # email contents
parms="$4"        # addtl email parms passed with -E
append="$5"       # file to append

Wenn jemand ein eMailPlugin schreibt wäre es gut wenn dieses Plugin in einem Kommentar am Ende dieser Seite erläutert wird so dass der Code vielleicht mit anderen ausgetauscht werden kann.

 

Hinweise

1) Achtung: Die Extensions laufen mit root Rechten und können deshalb bei Fehlern das laufende System schädigen oder sogar zerstören !

2) Es sind nicht beide Scripts (pre und post) notwendig. Es reicht wenn eines existiert.

3) Zum Testen von Plugins ist der Parameter -F sehr hilfreich. Dadurch wird der eigentliche Backupprozess übersprungen und somit der Scriptdurchlauf sehr schnell.

4) Der Rückgabewert des Backupprozesses wird an das Plugin als Parameter weitergereicht. 0 <=> OK, <>0 Fehler

5) Da die Plugin im Scope von raspiBackup aufgerufen werden, besteht Zugriff auf interne Scriptvariablen. Davon ist abzuraten, da sich die Internas jederzeit ändern können. Aus diesem Grunde ist es auch ratsam eigene Variablen mit einem pluginspzifischen Prefix zu versehen umd mögliche Konflikte mit Variablennamen die von raspiBackup benutzt werden zu vermeiden.

5) Wenn jemand seinen Plugincode sharen möchte geht das einfach über einen Pullrequest auf github. Dort ist aller Plugins im Quellcode verfügbar um ihn zu erweitern und neuen zuzufügen.

Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv

Die aktuelle Liste der raspiBackup Releases sowie deren Neuerungen und Bugfixe finden sich hier.

 

 

Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv

Das Backupscript raspiBackup.sh wird immer mehr benutzt um die Backups auf einer Synology abzulegen. Lange besaß ich keine Synology und konnte keinerlei Tests vornehmen um bei Problemen zu helfen. Deshalb erstellte ich diese Webseite um allen Nutzern einer Synology eine Möglichkeit des Informationsaustausches über Kommentare zu dieser Seite zu geben. Wer eine Synology besitzt konnte kurz einen Kommentar posten und sich damit an der Diskussion beteiligen.

Ergebnisse und Empfehlungen, die aus Diskussionen entstehen, wurden natürlich hier dokumentiert.

Mittlerweile besitze ich eine Synology DS418play und bin auch in der Lage genauer zu beschreiben was man tun muss um mit raspiBackup seine Raspberries auf einer Synology sichern zu können. Die Beschreibung erklärt wie man die mit der empfohlenen Backupmethode rsync auf nfs Backupspace sichert.

Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv

raspiBackup kann erstellte Backups naürlich auch wieder restoren. Dabei werden auf der Ziel SD Karte neue Partitionen angelegt und dann mit dem entsprechenden Tool (dd, tar oder rsync) die Daten wieder restored. Das dd Backup kann man auch unter Windows restoren. Alle anderen Backuptypen benötigen eine Raspberry mit einem laufenden Raspbian oder ein anderes System, welches Linux als Betriebssystem hat. Ein manueller Restore der Daten mit den zuvor benutzten Backuptools dd, tar oder rsync ist natürlich auch möglich. Sollte ein externes Rootfilesystem gesichert worden sein wird es auch wieder auf ein externes Gerät zurückgespielt.

In der letzten Zeit bekomme ich immer wieder Issues in github weil der Restore abbricht. Ein Restore sollte immer mit demselben OS vorgenommen werden wie dem mit dem das Backup erstellt wurde. Oftmals kann ein jedes Linux OS genutzt um ein Backup zu restoren aber das kann dazu führen dass der Restore abbricht wenn die Linux Tools die zum Backup und Restore genutzt werden inkompatible Änderungen vorgenommen haben zu dem OS welches zum Restore genutzt wird. Aktuell gibt es eine inkompatible Änderung in sfdisk bei Bullseye zu den Vorgängerversionen. Deshalb lieber immer gleich dasselbe OS zum Restore nehmen!

 

Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv

raspiBackup ermöglicht eine Sicherung von Raspberries manuell oder automatisch in regelmäßigen Abständen von einem laufenden System zu erstellen. D.h. es wird die SD Karte im laufenden Betrieb gesichert. Eine ausgelagerte Rootpartition wird dabei mitgesichert. Dabei muss die Raspberry nicht angehalten und manuell eingegriffen werden sondern nur alle wichtigen Services vor dem Backup gestoppt und nach erfolgtem Backup wieder gestartet werden. Backups können auf alle Geräte, die an Linux gemounted werden können, gesichert werden (USB Stick, USB Platte, nfs, samba, sshfs, ...). Als Backupmethoden stehen dd, tar und rsync mit und ohne Hardlinks zur Verfügung. Die erstellten Backups können mit raspiBackup auf beliebigen SD Karten unter Windows oder Linux wiederhergestellt werden. Auf der Quelle können die Raspbian Partitionen entweder beide auf der SD Karte liegen oder die Bootpartition auf SD Karte und die Root Partition auf einem externen Gerät wie z.B. ein USB Stick oder eine per USB angeschlossene SSD. Auch können beide Partitionen ausschliesslich auf einem USB Gerät liegen und mit dem USB Boot Modus gestartet werden.