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

  • Einen Wertmutstropfen gibt es zu erwaehnen: Da eine Datei physisch nur einmal gespeichert wird und von allen Backups ausser dem ersten per Hardlink in den jeweiligen Backups nur verlinked werden fehlt diese Datei sofort in allen Backups wenn das Speichermedium ein Leseproblem mit der Datei hat :no_sad: Wer also 100% sicher sein will dass die Backups so ein Problem nicht bekommen sollte als Backupstorage ein RAID >= 1 nutzen.

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert :fies: Bei mir tut das raspiBackup automatisch :shy:

  • Hallo framp,


    Anfang März 2022 hatten wir eine Diskussion zum raspiBackup und reboot:


    Zum härten habe ich die Einstellungen auch auf meinen RasPi im Heizungskeller übertragen,

    also mit ";" anstatt "&&" in der /usr/local/etc/raspiBackup.conf, sowie im /usr/local/bin/raspiBackupNfsWrapper.sh:

    Code
    raspiBackup.sh -g --timestamps --notifyStart --rebootSystem

    also mit reboot nach dem Backup.


    Das Script läuft einmal die Woche. Heute kam die E-Mail, dass das Backup gestartet wurde:

    Quote

    07-15-2022 00:57:10 --- RBK0009I: HeizPi: raspiBackup.sh V0.6.7 (2022-05-26/9edf641) Fr 15. Jul 00:57:09 CEST 2022 gestartet.

    aber keine E-Mail nach dem Backup?


    Weiterhin wurden im Backup Verzeichnis nun 4 anstatt 3 Backup abgelegt, obwohl in /usr/local/etc/raspiBackup.conf:

    Quote

    # Anzahl der zu vorhaltenden Backups

    DEFAULT_KEEPBACKUPS="3"


    Ich habe das /usr/local/bin/raspiBackupNfsWrapper.sh noch mal händisch gestartet. Also in der bash:

    Quote

    sudo /usr/local/bin/raspiBackupNfsWrapper.sh

    Danach habe ich die Start und die Ende E-Mail bekommen:

    Quote

    07-15-2022 14:39:34 --- RBK0009I: HeizPi: raspiBackup.sh V0.6.7 (2022-05-26/9edf641) Fr 15. Jul 14:39:33 CEST 2022 gestartet.

    Nun 5 Backup im Ziel-Verzeichnis.


    Aufgrund von "07-15-2022 15:16:08 ??? RBK1004E: bc nicht gefunden. bc muss installiert werden mit 'sudo apt-get install bc'." habe ich in der bash "sudo apt-get install bc" eingegeben.


    Dabei ist mir der RasPi abgestürzt und wollte nicht mehr starten.


    Über einen anderen RasPi habe ich das 15:16:11 Uhr Backup wieder auf die SD-Karte mit restore aufgespielt. Neu gestartet. RasPi war ok und per SSH erreichbar. Nun nochmals "sudo apt-get install bc". Hat er gemacht und war Ok.


    Erneuter Versuch:

    Quote

    sudo /usr/local/bin/raspiBackupNfsWrapper.sh

    E-Mail mit:

    Quote

    07-15-2022 16:42:40 --- RBK0009I: HeizPi: raspiBackup.sh V0.6.7 (2022-05-26/9edf641) Fr 15. Jul 16:42:39 CEST 2022 gestartet.

    kommt, aber auch gleich danach "Backup nicht erfolgreich !!!.":

    Ich habe festgestellt, dass auf dem HeizPi das /backup Verzeichnis für NFS weg war. Also dieses wieder eingerichtet.

    Aber auch danach bei jedem Versuch immer wieder die gleiche Meldung: "Backup nicht erfolgreich !!!."


    Was läuft falsch?

  • Dabei ist mir der RasPi abgestürzt und wollte nicht mehr starten.

    Oha. Da war Dein Puls wohl auf 180 :huh:

    Backup wieder auf die SD-Karte mit restore aufgespielt. Neu gestartet. RasPi war ok und per SSH erreichbar.

    Ich hoffe das war nicht das erste mal dass Du Restore getestet hast :) Es gibt uebrigends die Option -M und ab der Release 0.6.7 werden bei rsync dabei auch Deltabackups erstellt - quasi ein Snapshot - sinnvoll wenn imer eine groessere Aenderung vornimmt.


    Das mit der fehlenen Endemail wurde schon mal reportet. Der Nutzer nutze msmtp. ich nutze exim4 und damit funktioniert es. Wir haben das dann nicht mehr weiter verfolgt. Welchen MTA nutzt Du?

    Quote

    Ich habe festgestellt, dass auf dem HeizPi das /backup Verzeichnis für NFS weg war. Also dieses wieder eingerichtet.

    Das ist ein kleiner Bug in raspiBackup. Dazu habe ich eben einen issue erstellt.

    "Backup nicht erfolgreich !!!."

    Ich kann leider nicht auf Dein System sehen :no_sad: Oder willst Du mir ssh Zugang gewaehren ? :lol: Ist auch nicht notwendig ;) Du musst mir einfach das Debuglog zeigen :)

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert :fies: Bei mir tut das raspiBackup automatisch :shy:

    Edited once, last by framp ().

  • Oha. Da war Dein Puls wohl auf 180 :huh:

    Ja genau, und wie!

    Ich hoffe das war nicht das erste mal dass Du Restore getestet hast :)

    Nein, natüüürlich nicht. :saint:

    Welchen MTA nutzt Du?

    Ich glaube sSMTP. Ist schon lange her das ich das installiert habe. Hat bisher aber funktioniert.

    Du musst mir einfach das Debuglog zeigen :)

    Danke für Deine Hilfe!!!

  • Dann gehen wir erst mal das wichtigste Problem an: Warum failed der Backup :conf: Das mailProblem gehen wir spaeter an :)


    Im Log finde ich die Fehlermeldung

    Code
    07-15-2022 17:43:25 ??? RBK0266E: Es fehlt die Berechtigung um Linux Dateiattribute auf /backup zu erstellen (Dateisystem: nfs4).

    sowie

    Code
    20220715-174325 DBG 3414: --> supportsFileAttributes /backup
    20220715-174325 DBG 3428: --- ----r-xrwx+ # nobody # nogroup
    cp: Erhalten der Zugriffsrechte für „//backup/raspiBackup.fileattributes“: Die Operation wird nicht unterstützt
    20220715-174325 DBG 3434: --- ----r-xrwx # nobody # nogroup
    20220715-174325 DBG 3442: <-- supportsFileAttributes 1

    habe ich die Einstellungen auch auf meinen RasPi im Heizungskeller übertragen,

    Ich denke damit meinst Du die raspiBackup Configuration. Aber offensichtlich mountest Du die nfs Backup Partition irgendwie anders oder Du hast der Raspi nicht die notwendigen Rechte auf dem nfs Server erteilt :shy:

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert :fies: Bei mir tut das raspiBackup automatisch :shy:

  • Das Backup läuft nun schon länger.


    Ich habe welche auf dem Ziellaufwerk vom

    HeizPi-rsync-backup-20220624-003004,

    HeizPi-rsync-backup-20220701-003003,

    HeizPi-rsync-backup-20220708-003004 und

    HeizPi-rsync-backup-20220715-005703.


    Erst letztes Wochenende habe ich das /usr/local/bin/raspiBackupNfsWrapper.sh Skript von

    Code
    raspiBackup.sh

    auf

    Code
    raspiBackup.sh -g --timestamps --notifyStart --rebootSystem

    geändert. Ich habe aber nichts am NFS-mount oder am Ziellaufwerk geändert.


    Letzte Nacht hat es auch noch ein Backup (via NFS) gemacht.

    Aufgefallen ist mir dannach nur, dass keine Ende-E-Mail kam und 4 statt 3 Backups vorgehalten werden.


    Darauf hin wollte ich die Situation heute nochmals mit einem Start in der bash (sudo /usr/local/bin/raspiBackupNfsWrapper.sh) statt via cron mir ansehen. Dieses Backup wurde auch erstellt HeizPi-rsync-backup-20220715-143927.

  • In den bisherigen Sicherungen ist /backup nicht enthalten. Sichert raspiBackup keine leeren Verzeichnisse?


    Du hast der Raspi nicht die notwendigen Rechte auf dem nfs Server erteilt

    Wenn ich den mount in der HeizPi bash herstelle

    Code
    sudo mount -t nfs -o soft 192.168.0.20:/media/USBHDD1/public/Backup /backup
    sudo touch /backup/HeizPi/test

    kann ich mit "sudo touch /backup/HeizPi/test" auf dem Ziellaufwerk eine Datei erstellen, ohne sudo als regulärer Benutzer nicht.

    Als welcher User sichert raspiBackup? Als root?

    Wie kann ich raspiBackup die notwendigen Rechte auf dem nfs Server erteilen?

  • Als welcher User sichert raspiBackup? Als root?

    Ja


    Wie kann ich raspiBackup die notwendigen Rechte auf dem nfs Server erteilen?

    Nicht raspiBackup, sondern dem Client, auf dem raspiBackup läuft. (HeizPi)


    Auf dem Server in der /etc/exports

    z.B. wie bei mir

    /backup_verzeichnis  IP-oder-HeizPi(rw,sync,no_root_squash,no_subtree_check)

    Nach dem speichern

    sudo exportfs -ra


    Mountbefehl in der fstab oder per mount-unit mit den entsprechenden Optionen.

    192.168.178.150:/backup_pi /backup nfs nfsvers=3,rw,user,hard,intr,sync,nofail 0 0

  • Hallo Franjo G,

    Auf dem Server in der /etc/exports

    in der /etc/exports meines Zentral-RasPi (mit dem Ziellaufwerk) steht drin:

    Code
    /media/USBHDD1/public/Backup 192.168.0.0/255.255.255.0(rw,sync,no_subtree_check,no_root_squash)

    weil ich allen meinen Sateliten-RasPi's die Möglichkeit geben will das Backup auf dem Ziellaufwerk des Zentral-RasPi abzulegen.


    Ob ich sudo exportfs -ra gemacht habe weiß ich heute nicht mehr, probiere ich nachher aber nochmals aus.


    Der Mount wird vom /usr/local/bin/raspiBackupNfsWrapper.sh auf dem HeizPi ausgeführt, dort ist eingetragen:

    Code
    NFSSERVER="192.168.0.20"
    NFSDIRECTORY="/media/USBHDD1/public/Backup"
    MOUNTPOINT="/backup"

    Hat ja bisher auch immer funktioniert. :/

  • Der Mount wird vom /usr/local/bin/raspiBackupNfsWrapper.sh auf dem HeizPi ausgeführt, dort ist eingetragen:

    Mit dem NfsWrapper kenne ich mich nicht aus. Das habe ich nie benutzt.

    Ich habe mein Backup-Verzeichnis permanent gmountet per mount-unit.


    Allerdings benutze ich Nfs vers=3, weil ich mit vers=4.2 folgende Fehlermeldung erhalte.

    Code
    --- RBK0044I: Backup der Bootpartition wird in /backup/bullseye64bit/bullseye64bit-rsync-backup-20220716-112929/bullseye64bit-backup.img erstellt.
    --- RBK0158I: rsync Backup "/backup/bullseye64bit/bullseye64bit-rsync-backup-20220716-112929" wird erstellt.
    --- RBK0085I: Backuperstellung vom Typ rsync gestartet. Bitte Geduld.
    rsync: [generator] set_acl: sys_acl_set_file(media/franjo64, ACL_TYPE_ACCESS): Operation not supported (95)

    obwohl ich keine acl's gesetzt habe. Die Meldung kommt auch bei einem frisch aufgesetzten System.

    Mit Nfs vers=3 habe ich keine Probleme.


    <EDIT>

    Den Fehler habe ich gefunden. Das passiert nur, wenn ich einen Datenträger per USB angeschlossen habe, und dieser automatisch nach media/franjo64/xxxxxxxxxxxxxxxxxxx gemountet wird.

    Code
    franjo64@bullseye64bit:~ $ ls -ls /media
    total 4
    4 drwxr-x---+ 2 root root 4096 Jul 16 12:01 franjo64

    Nachdem ich den automount in pcmanfm abgeschaltet, und das Verzeichnis /media/franjo64 gelöscht habe, läuft es auch mit vers=4.2

    </EDIT>

  • So, habe gerade sudo exportfs -ra auf dem HeizPi in der bash eingegeben.

    Danach sudo /usr/local/bin/raspiBackupNfsWrapper.sh.

    Aber es kommt immer noch:

    Code
    Mouting 192.168.0.20:/media/USBHDD1/public/Backup to /backup
    07-16-2022 11:38:42 --- RBK0009I: HeizPi: raspiBackup.sh V0.6.7 (2022-05-26/9edf641) Sa 16. Jul 11:38:41 CEST 2022 gestartet.
    07-16-2022 11:38:53 ??? RBK0266E: Es fehlt die Berechtigung um Linux Dateiattribute auf /backup zu erstellen (Dateisystem: nfs4).
    07-16-2022 11:38:54 --- RBK0033I: Bitte warten bis aufgeräumt wurde.
    07-16-2022 11:38:55 --- RBK0043I: Unvollständiges Backup in /backup/HeizPi/HeizPi-rsync-backup-20220716-113835 wird gelöscht. Das kann etwas dauern. Bitte Geduld.
    07-16-2022 11:38:55 ??? RBK0005E: Backup fehlerhaft beendet. Siehe vorhergehende Fehlermeldungen.
    07-16-2022 11:38:56 --- RBK0010I: HeizPi: raspiBackup.sh V0.6.7 (9edf641) Sa 16. Jul 11:38:55 CEST 2022 beendet mit Returncode 102.
    07-16-2022 11:39:01 --- RBK0026I: Debug Logdatei wurde in /home/HeizPi/raspiBackup.log gesichert.
    raspiBackup failed with rc 102
  • Aber es kommt immer noch:

    Und was passiert, wenn du den mount per fstab

    [tt192.168.0.20:/medis/USBHDD1/public/Backup /backup nfs rw,user,hard,intr,sync,nofail 0 0][/tt]
    ausführst und dann raspiBackup?

  • Habe in die /etc/fstab

    192.168.0.20:/media/USBHDD1/public/Backup /backup nfs rw,user,hard,intr,sync,nofail 0 0

    eingetragen. Anschliessend sudo reboot. Neu per SSH angemeldet und sudo /usr/local/bin/raspiBackupNfsWrapper.sh. Gleicher Fehler.


    Nach dem Reboot habe ich mit cd /backup und ls die Backup-Verzeichnisse auf dem Ziellaufwerk gesehen.


    Übrigens, letzte Nacht hat mein HuhnPi sein Backup erstellt. Aber auch nur die Start- und nicht die Ende-Mail. Das Backup ist aber im Ziellaufwerk.

  • Neu per SSH angemeldet und sudo /usr/local/bin/raspiBackupNfsWrapper.sh. Gleicher Fehler.

    Warum? Starte das backup nach dem Reboot mit sudo raspiBackup nicht mit dem Wrapper.


    Nach dem Reboot einmal prüfen, ob das Laufwerk gemountet ist. mount

    (es kann sein, dass das Laufwerk nicht gemountet ist, weil das Netzwerk beim Booten noch nicht erreichbar war. (aus diesem Grund nutze ich eine mount-unit))

    Wenn nicht sudo mount -a eingeben.

    Anschliessend mit sudo raspiBackup das Backup ausführen. (Ich möchte nur ausschliessen, dass der Fehler beim Wrapper-Script liegt.)

  • Ok, nochmals reboot (zur Sicherheit).

    Nach dem Reboot kann ich mit cd /backup und ls die Backup-Verzeichnisse auf dem Ziellaufwerk sehen.

    Dann sudo raspiBackup.sh -g --timestamps --notifyStart --rebootSystem


    Gleicher Fehler.


    Code
    07-16-2022 12:31:37 --- RBK0009I: HeizPi: raspiBackup.sh V0.6.7 (2022-05-26/9edf641) Sa 16. Jul 12:31:37 CEST 2022 gestartet.
    07-16-2022 12:31:44 --- RBK0031I: Prüfe ob eine neue Version von raspiBackup.sh verfügbar ist.
    07-16-2022 12:31:52 ??? RBK0266E: Es fehlt die Berechtigung um Linux Dateiattribute auf /backup zu erstellen (Dateisystem: nfs4).
    07-16-2022 12:31:52 --- RBK0033I: Bitte warten bis aufgeräumt wurde.
    07-16-2022 12:31:53 --- RBK0043I: Unvollständiges Backup in /backup/HeizPi/HeizPi-rsync-backup-20220716-123130 wird gelöscht. Das kann etwas dauern. Bitte Geduld.
    07-16-2022 12:31:54 ??? RBK0005E: Backup fehlerhaft beendet. Siehe vorhergehende Fehlermeldungen.
    07-16-2022 12:31:54 --- RBK0010I: HeizPi: raspiBackup.sh V0.6.7 (9edf641) Sa 16. Jul 12:31:54 CEST 2022 beendet mit Returncode 102.
    07-16-2022 12:32:00 --- RBK0026I: Debug Logdatei wurde in /home/HeizPi/raspiBackup.log gesichert.
  • Danke Franjo G


    Da ich ja von 4 Wochen rückliegende Backups gespeichert habe,

    kann man herausfinden, was zwischen 2 gespeicherten Backups unterschiedlich ist?

    oder

    ich überlege ein älteres Backup per Restore auf den HeizPi zurückzuspielen. Was meinst Du?

  • ich überlege ein älteres Backup per Restore auf den HeizPi zurückzuspielen. Was meinst Du?

    Das kannst du je versuchen. Wenn du weißt, ab wann das Problem genau aufgetreten ist.


    Wie gesagt, ich habe da in meiner Konstellation keine Probleme

    Mount per mount-unit mit den o.g. Optionen

    NFS-Freigabe auf dem Server mit den genannten Optionen

    Ausführung mit raspiBackup (ohne die Optionen (-g --timestamps --notifyStart --rebootSystem))


    Die Backups laufen per Wlan. (Erstbackup ca 40 min, Folgebackups ca 20 min.)

  • So, in der Zwischenzeit habe ich mit restore das Backup HeizPi-rsync-backup-20220708-003004 zurückgespielt.

    Dieses hat auch nicht funktioniert. Die gleiche Fehlermeldung. X(


    Ich hatte vorher die SD-Karte mit Win32DiskImager gesichert und schreibe diese Sicherung nun wieder zurück auf die Karte.


    Warum funktioniert das Backup beim HuhnPi aber beim HeizPi nicht? :helpnew:

  • Einen Wertmutstropfen gibt es zu erwaehnen: Da eine Datei physisch nur einmal gespeichert wird und von allen Backups ausser dem ersten per Hardlink in den jeweiligen Backups nur verlinked werden fehlt diese Datei sofort in allen Backups wenn das Speichermedium ein Leseproblem mit der Datei hat

    Und was ist, wenn das 1. Backup mit der Option -M gesichert wird? Dann wird das ja nicht recycled.