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
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
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 den Restore gut zu testen.