raspiBackup - Vorstellung von nützlichen Optionen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Innerhalb der letzten 7 Jahre wurden in raspiBackup immer wieder neue und nuetzliche Features i.d.R. auf Vorschlag von Benutzern eingebaut. Ich moechte in diesem Thread immer mal wieder nicht so bekannte Features kurz vorstellen damit alteingesessene raspiBackup Benutzer die vermutlich die raspiBackup Weiterentwicklung nicht oder kaum verfolgt haben auch diese Features kennenlernen und vielleicht auch beginnen zu nutzen. Alle verfuegbaren Optionen sind auf dieser Seite beschrieben.

    Fast alle Optionen koennen entweder beim Aufruf oder in der Konfigurationsdatei /usr/local/etc/raspiBackup.conf angegeben werden.

    Aufrufoptionen

    • -B (Sichert die Bootpartition nicht mit dd sondern mit tar)
    • -c (Eine Sicherung des Backups ist auf der Rootpartition möglich)
    • -F (dry run von raspiBackup um z.B. die eMail Konfiguration oder die Stop/Start Befehle zu testen). Es wird raspiBackup durchlaufen aber keine Backups erstellt. Dadurch kann Vorgenanntes wesentlich schneller getestet werden.
    • -L (Definition wo das Debuglog und die Laufzeitmeldungen gespeichert werden sollen)
    • -M (Erstellt ein raspiBackup Snapshot). Eine Option die ich jedem der anfaengt eine neue Raspberry aufzusetzen dringend empfehle zu nutzen um im Fehlerfalle nicht immer wieder von vorne beginnen zu muessen !
    • -g (Fortschrittsanzeige einschalten)
    • --ignoreAdditionalPartitions (Es koennen mehr als zwei Partitionen auf der SD Karte existieren)
    • -k (Definition der Anzahl der vorzuhaltenen Backups pro Backuptyp)
    • -P (Partitionsorientierter Backup fuer USB Boot Modus Systeme)
    • --systemstatus (Ausgabe der aktiven Services und offenen Dateien im Debuglog vor dem Start des Backups)
    • -u (Ausnahme von Dateien und Verzeichnissen vom Backup)
    • --smartRecycle (Generationenprinzip bei der Verwaltung der Backups)
    • --telegram (Benachrichtigungen an Telegram schicken)
    • --timestamps (Alle Meldungen werden mit einem fuehrenden Zeitstempel versehen)
    • --dynamicMount (Die Backuppartition wird vor dem Backup gemounted und am Ende wieder umounted)
    • --keep-type (Angabe wie viele Versionen eines bestimmten Backuptyps vorgehalten werden sollen. Nuetzlich wenn man ab und zu mal einen Vollbackup per tar erstellt und den keep Parameter anders als bei rsync haben moechte)
    • --rebootSystem (Am Ende des Backups wird das System restartet)
    • --unsupportedEnvironment (Aufruf von raspiBackup auf einer nicht Raspberry HW oder keinem RaspbianOS)

    Reine Konfigurationsoptionen

    Restoreoptionen

    • --resizeRootFS (Die Rootpartition wird nicht expandiert dass die ganze SD Karte benutzt wird)
    • --updateUUIDs (Es werden neue UUIDs und PARTUUIDs generiert)
    • -0 (Nutzung der existierenden Partitionierung auf dem Restoredevice)

    :no_sad: ... Kein Backupkein Mitleid ... :no_sad:
    :) Nutze lieber raspiBackup bevor Du in die Luft 💥 gehst wie ein HB Männchen :)

    71 Mal editiert, zuletzt von framp (7. Januar 2024 um 19:21) aus folgendem Grund: Hinweis auf --unsupportedEnvironment

  • raspiBackup - Vorstellung von nützlichen Optionen? Schau mal ob du hier fündig wirst!

  • Allerdings muss dazu die root Partition mit gparted von 32GB auf 8 GB verkleinert werden. Der restliche SD Speicherplatz bleibt ungenutzt.

    Das ist für eine SD optimal, aber bei einer SSD von 250 GB ist das ne Menge verschenkter Speicherplatz, den man sonst für eine dritte Partition nutzen könnte.

    Optimaler wäre es, wenn man nur die ersten 2 Partitionen sichern könnte.

  • Ich habe den Usecase mit einer SSD nicht. raspiBackup entstand und entwickelt sich aus meinen Beduerfnissen und ist SD zentriert. Aber viele Features waren Benutzervorschlaege wie auch der USB Boot Mode Support wo alles auf einem USB Stick oder SSD liegt und keine SSD mehr im Spiel ist. Ich nehme Deinen Vorschlag mal im git als Feature Request auf :)

    Edit: git issue

  • Das Problem ist nur, dass immer mehr User auf SSD-Boot umsteigen wegen der Anfälligkeit einer SD.

    Ich selber habe eine SSD mit 120 GB als Boot- und Root-Laufwerk , und verzichte wegen Raspi-Backup auf ca, 100 GB, da ich DD-Backup bevorzuge.

    Das ist jetzt nicht tragisch. Wenn man das Backup auf die Nachtstunden verschiebt, sind zwar auch 120 GB nicht unbedingt ein Problem, verbraucht aber im Endeffekt (3 Backups) mehr als 100 GB :lol:

    Ich könnte ja auch auf rsync umsteigen.

    Es gibt ja auch die Möglichkeit manuell per DD einzelne Partitionen zu sichern. Da mir aber raspiBackup mit den ganzen Features gut gefällt, nehme ich die 100 GB in Kauf.

    Wenn das in raspiBackup allerdings ohne große Probleme umzusetzen wäre, wäre das nicht schlecht.

  • Option -M

    raspiBackup hat keine Moeglichkeit Metadaten zu einem Backup zu speichern. Es gibt keine zentrale Datenbank die alle Backups verwaltet. Jedes Backup ist self contained - also fuer sich abgeschlossen. Ich brauche mal immer wieder mal eine Art Snapshot eines Systems um bevor ich am System verschiedene Dinge ausprobiere ein Backup habe. Mit der Option -M kann man dem Backuppfad einen bestimmten Namen geben und somit ein wenig Metadaten ueber den Namen dem Backup vergeben. Ausserdem werden raspiBackup Snapshots nicht beim Backuprecycle beruecksichtigt. D.h. sie muessen manuell im Backupverzeichnis geloescht werden.

    Beispiel: Der Hostname ist idefix und der Parameter für -M ist "Initial boot from SD". Dann wird folgendes Verzeichnis angelegt:

    idefix_Initial_boot_from_SD/idefix-rsync-backup-20170103-170717

    Hinweis: Mit der Option -M wird immer ein vollstaendiges Backup erstellt - auch wenn rsync als Backuptyp gewaehlt wurde. Hardlinks werden nicht genutzt.

    Update:

    Ab der Release 0.6.7 werden Hardlinks genutzt und kein vollstaendiger Backup mehr erstellt bveim rsync Backup und somit die Backupzeit bei rsync Backups reduziert. Auch aendert sich der Name des Backupverzeichnisses in <backupVerzeichnis>/idefix-rsync-backup-20170103-170717_Idefix_Initial_boot_from_SD


    Detailierte Optionsbeschreibung

    :no_sad: ... Kein Backupkein Mitleid ... :no_sad:
    :) Nutze lieber raspiBackup bevor Du in die Luft 💥 gehst wie ein HB Männchen :)

    5 Mal editiert, zuletzt von framp (14. November 2022 um 11:27) aus folgendem Grund: Update fuer Release 0.6.7

  • Das Problem ist nur, dass immer mehr User auf SSD-Boot umsteigen wegen der Anfälligkeit einer SD.

    Das ist kein Problem sondern eine Tatsache. Dumm ist nur dass ich weiterhin SD Karten benutze und deshalb den Usecase nicht gesehen habe. Jetzt ist der Feature request im git und nun sehen wir mal :shy:

    • Offizieller Beitrag

    framp Wenn Du im Beitrag #1 jeweils einen Link zu dem Beitrag zu einer weiteren Option verlinks, dann wäre das imho übersichtlich. Gemeint ist damit so eine Art Inhaltsverzeichnis. ;)

    z.B.

    - DEFAULT_DD_BACKUP_SAVE_USED_PARTITIONS_ONLY

    - Option -M

  • Jetzt ist der Feature request im git und nun sehen wir mal

    Wie gesagt, ich habe da kein großes Problem mit. Die 120er SSD war die kleinste, die ich auf die Schnelle bekommen konnte. (Kostet nicht wesentlich mehr als eine SD)

    Da ich für die anderen Massendaten eh eine 2 TB-Platte (Die wichtigsten Daten werden mit meinem Laptop automatisch synchronisiert) benutze stört mich der Verlust der 100 Gb nicht sonderlich.

    Auf jeden Fall habe ich ein regelmäßiges Backup, welches ich problemlos, (egal ob mit Windows und Win32DiskImager, DD, oder wie auch immer) zurücksichern kann.

  • hyle Vielen Dank fuer den Vorschlag. Werde ich machen. Da wie ja schon geschehen auch Diskussionen zu den Optionen entstehen muss dann ein Leser alles durchlesen. Alternativ koennte ich fuer jede Option einen Thread erstellen. Ist aber vermutlich overkill.

    • Offizieller Beitrag

    ist aber vermutlich overkill.

    Denke ich auch. Genau wegen der entstehenden Diskussionen war es mein Gedanke gewisse Fixpunkte mit den die verlinkten Beiträgen zu haben, die Du ggf. nach der entsprechenden Diskussion im Zweifel auch bearbeiten/anpassen könntest.

    Mein Hintergrund ist, dass ich diesen Thread auch gerne zu dem anderen oben annageln/-pinnen würde. Dann muss natürlich auch die "Qualität" stimmen. ;)

  • -B

    Standardmaessig sichert raspiBackup die gesamte Bootpartition mit dd. Mit dieser Option wird sie mit tar gesichert. Dadurch wird das boot Backup kleiner und kann auch benutzt werden um sie per tar auf eine groessere oder kleinere Bootpartition zu kopieren.

    Detailierte Optionsbeschreibung

  • Option -F

    Diese Option ist sehr hilfreich beim Konfigurieren von raspiBackup. Es ist der sog. Fake Mode und entspricht dem dry run in anderen Tools. D.h. es wird so getan als wenn ein Backup erzeugt wird mit allen Meldungen aber tatsaechlich wird kein Backup erzeugt. Wenn ich mich recht erinnere habe ich diese Option eingefuehrt weil oft die Konfiguration der eMail Benachrichtigung mehrere Anlaeufe benoetigt bis alle eMail Parameter korrekt sind. Mit -F ist der Backuplauf in sehr kurzer Zeit beendet und man kann pruefen ob die eMail Benachrichtigung korrekt angekommen ist. Natuerlich ist klar dass keine Backuplaufzeitfehler auftreten koennen wenn diese Option benutzt wird.

    Detailierte Optionsbeschreibung

  • Option -k und --keep-<type>

    raspiBackup wurde von mir geschrieben um die letzten n Staende bereit zu haben. Mit der Option -k wird festgelegt wieviele Backups pro Backuptyp (dd, tar, rsync) vorgehalten werden. Es gab Requests dass man per Backuptyp definieren koennen soll wieviele Backups vorzuhalten sein sollen. Offensichtlich gibt es raspiBackup Benutzer die sich ein ausgekluegeltes Backupkonzept mit einem Mix von dd, tar und/oder rsync ausgedacht haben. Jedenfalls ist -k die globale Keep Option und wenn man --keep-<type> benutzt schraenkt das die Keep Option auf den spezifizierten <type> ein.

    Ich muss gestehen - ich habe dafuer keinen Usecase - aber offensichtlich andere raspiBackup Benutzer :)

    Detailierte Optionsbeschreibung

  • Option --systemstatus

    Bekommt man Laufzeitfehler dass sich irgendwelche Dateien waehrend des Backups geaendert haben hilft diese Option. Dadurch wird im Debuglog eine Liste der der aktiven Services und offenen Dateien vor dem Backupstart erstellt und man bekommt eine Idee welcher Service waehrend des Backups Dateien aendert und kann diesen Service dann mit den Optionen -a und -o stoppen bzw starten.

  • Option -u

    Wenn man ein laufendes System sichert gibt es das Problem dass das Sicherungsprogramm (tar, rsync - leider nicht dd) Fehler meldet wenn waehrend des Backups Dateien geaendert oder geloescht werden und der Backuplauf bricht ab.

    Das kann man dadurch beheben dass man die Sytemservices, die diese Aenderung vornehmen vor dem Backup mit der Option -o stoppt. Alternativ kann man mit dieser Option Dateien und Verzeichnisse vom Backupprozess ausnehmen und damit die Fehlermeldungen verhindern. Es kommt immer auf die jeweiligen spezifischen lokalen Bedingungen an welchen Weg man geht um die Fehlermeldung zu beseitigen.

    Auch kann es sein dass man bestimmt Verzeichnisse aus irgendwelchen Gruenden vom Backup ausschliessen will.

    Dabei ist zu beachten dass die Optionsparameter direkt dem Backupprogram (tar oder rsync) im Aufruf mitgegeben werden und deshalb der jeweiligen Syntax des Backupprogramms gehorchen muessen da sonst Fehler auftreten. Besonders ist zu beruecksichtigen dass die Semantik der Parameter bei tar und rsync unterschiedlich ist und unerwartete Auswirkungen haben kann. Ein guter Test des Backups mit der Option ist sehr angeraten.

    Detailierte Optionsbeschreibung

  • Option --systemstatus

    Mit dieser Option wird im Debuglog eine Liste der aktiven Services sowie der offenen Dateien ausgegeben. Sie hilft immer dann wenn es Fehlermeldungen gibt dass sich Dateien waehrend des Backups sich entweder geaendert haben oder geloescht wurden.

    Damit kann man u.U. rausfinden welcher Service dafuer verantwortlich ist dass eine Datei sich aendert und entweder diesen Service mit der Option -o stoppen oder ein entsprechendes Verzeichnis vom Backup ausnehmen.

  • DEFAULT_DD_BACKUP_SAVE_USED_PARTITIONS_ONLY

    Fuer ein Raspbian-light reicht normalerweise eine 8GB SD Karte. Die SD Karten sind mittlerweile i.d.R. 32G gross. D.h. wenn man ein dd Backup erstellt ist dieses immer 32GB gross obwohl nur 8 GB belegt sind. Viele raspiBackup Benutzer rufen deshalb anschliessend noch pishrink auf um das Image zu minimieren. raspiBackup sichert aber auch nur den belegten Platz mit der o.g. Option. Allerdings muss dazu die root Partition mit gparted von 32GB auf 8 GB verkleinert werden. Der restliche SD Speicherplatz bleibt ungenutzt. Somit spart man sich Backupspace und Backupzeit - auch wenn man pishrink anschliessend benutzt denn auch da erfolgt erst einmal die Sicherung von 32GB.

    Detailierte Optionsbeschreibung

  • --resizeRootFS

    Beim Restore wird standardmaessig die Rootpartition immer soweit wie moeglich vergroessert dass die gesamte SD Karte genutzt wird. Wird diese Option mit --resizeRootFS- ausgeschaltet wird die Originalgroesse des Backups beibehalten.[/tt]

    Will man eine andere Groesse der Partitionen beim Restore haben muss man auf der SD Karte vorher mit gparted ihre gewuenschten Partitionen mit den entsprechenden Groessen erstellt haben. Die Option -0 muss dann beim Restore genutzt werden damit die existierende Partitionierung nicht ueberschrieben wird.

Jetzt mitmachen!

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