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.

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.

 

Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv

Eine Anerkennung des Entwicklungs- und Wartungsaufwands sowie Supports für raspiBackup ist gerne gesehen und wie folgt möglich:

1) Werde ein github sponsor für raspiBackup

2) Paypal: Die eMail framp att linux-tips-and-tricks dott de ist PayPal bekannt und ein jeder kann mit einem PayPal Konto an diese eMail ein Trinkgeld geben.

3) Keines von beidem: Einfach bei der o.g. eMail nachfragen. Es findet sich gewiss eine Alternative. Z.B. wurde mir Trinkgeld schon mehrmals auf die gute alte Art per Brief zugeschickt :-)

 

Die letzte Spende kam am 25.2.2024.

 

 

Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv

Auf den folgenden Seiten werden verschiedene Anwendungsbeispiele von raspiBackup sowie ihrer Konfiguration vorgestellt und erklärt. Sie sollen helfen aus der Vielzahl der Anwendungsmöglichkeiten die Richtige zu finden oder das Beispiel dann noch den eigenen Ansprüchen entsprechend anzupassen. Eine Übersicht aller Optionen findet sich hier. Verschiedene Methoden ein Backup zu restoren sind hier beschrieben.

 

Alle Konfigurationen, die kein dd Backup benutzen sichern auch ein externes Rootfilesystem zusammen mit den SD Bootpartition. Wenn der USB Bootmode benutzt wird und keine SD Karte mehr benutzt wird wird auch die ganze Rootpartition gesichert.


 

Folgende Anwendungsbeispiele werden beschrieben:

1a. Ein Windowsbenutzer möchte seine Raspberry sichern und per windisk32imager auf Windows restoren können.

1b. Ein Windowsbenutzer hat eine 32GB SD Karte und benutzt nur 12GB davon die er aber auch nur sichern möchte

1c. Ein Windowsbenutzers möchte mit pishrink ein absolute minmales Image erstellen

2. Eine Raspberry soll möglichst schnell gesichert werden. Die Backuppartition ist ein per nfs gemountetes EXT4 Dateisystem welches von einer Synology zur Verfügung gestellt wird.

3. Eine Raspberry soll auf ein per Samba gemountetes Dateisystem gesichert werden, welches von einem Windowssystem zur Verfügung gestellt wird.

4. Es ist eine größere Änderung an der Raspberry beabsichtigt und verschiedene Zwischenstände sollen sicherheitshalber gesichert werden.

5. Ein USB Boot System soll mit weiteren Partitionen gesichert werden.

6.Eine Raspberry soll auf einen lokal angeschlossen USB Stick oder eine lokal angeschlossene USB Platte gesichert werden.

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: 4 / 5

Stern aktivStern aktivStern aktivStern aktivStern inaktiv

raspiBackup wird in vielen Ländern der Welt genutzt

Eine vollständige Liste der Länder ist hier verfügbar.

 

Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv

Mittlerweile sind verschiedene Hilfsprogramme zu raspiBackup entstanden. Sie stehen auf github zum Download zur Verfügung:

1) raspiBackupWrapper.sh : Damit kann man vor und nach dem Aufruf von raspiBackup verschiedene Dinge erledigen lassen. Der Code mounted schon die Backuppartition und unmounted sie falls sie vorher nicht gemounted war. Es ist etwas bash Script Kenntnis notwendig um das Script dem eigenen Bedarf anzupassen.

2) raspiBackupNfsWrapper.sh: Es wird von dem Script geprüft ob ein NFS Server verfügbar ist und nur dann raspiBackup gestartet. Ausser ein paar Definitionen des NFS Servers ist nichts anzupassen.

3) raspiBackupRestore2Image.sh: Mit diesem Script kann ein tar oder rsync Backup welches in normalen Backupmodus erstellt wurde in ein dd Backup umgewandelt werden. Dazu wird pishrink benutzt um die Größe des dd Images minimal zu halten. kmbach hat die Erstellung des Scripts angeregt. Das Script erfordert keine Änderungen.

4) raspiImageMail.sh: Dieses Script wurde von dem raspiBackup Benutzer kmbach erstellt weil er wollte, dass er am Ende von dem Aufruf von raspiBackupRestore2Image.sh eine eMail erhalten wollte. Dazu werden die raspiBackup eMail Konfigurationsparameter benutzt. Das Script erfordert keine Änderungen.

Bewertung: 4 / 5

Stern aktivStern aktivStern aktivStern aktivStern inaktiv

Nun habe ich mich endlich dazu durchgerungen auch mal ein Video zu raspiBackup zu erstellen und auf Youtube zu veröffentlichen.

Behandelte Themen sind

  1. Vorstellung von raspiBackup mit seinen wichtigsten Fähigkeiten
  2. Besuch der wichtigstens Webseiten zu raspiBackup
  3. Vorstellung von github als Fragen- und Probleminteraktionstool
  4. Liveinstallation von raspiBackup mit dem menuegesteuerten Installer

Die dort verwendeten Slides können zum Lesen hier runtergeladen werden.

 

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.

Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv

Gestern habe ich eine CM4 mit 1GB main memory, 32GB eMMC und 128 GB NVMe gespendet bekommen. Vielen Dank an den Spender!

CM4 war schon von raspiBackup unterstützt aber nur wenn es von einer SD Karte, dem eMMC oder per USB Boot gestartet wurde. Man kann NVMe schon nutzen aber nur wenn er sich in einem USB Stick befindet da er als normale Platte als /dev/sdx exposed  wird aber es gibt bislang keinen Weg NVMe zu nutzen wenn es in die PCi Lane gesteckt wurde da er dann als /dev/nvme  exposed wird. Jetzt war ich in der Lage auch diesen Support in raspiBackup einzubauen. Der Support ist ab Release 0.6.8 verfügbar.

 CM4Parts

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

Ein agiler Nutzer von raspiBackup - Franjo-G - hat ein sehr nützliches kelines Hilfsscript mit dem Namen raspiBackupDialog geschrieben welches in einem Dialog die wichtigsten Aufrufoptionen für den Backup und den Restore abfragt und mit denen dann raspiBackup anstößt. raspiBackup Snapshots werden unterstützt. Sehr einfach ist besonders der Restore durchzuführen: Vor dem Restore wird die Liste der vorhandenen Backups angezeigt und man kann auswählen welches Backup man restoren will.   

 

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.

Unterkategorien