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

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • raspiBackup - Sichere Deine Raspberry regelmäßig im laufenden Betrieb? Schau mal ob du hier fündig wirst!

  • framp Gestern schriebst Du am Stammtisch:

    Quote from framp

    Du hast ja wohl mehrere Systeme. Ich hoffe die haben alle andere Hostnamen denn sonst bekommst DU ein Backupkuddelmuddel denn raspiBackup nimmt immer den Hostnamen als Backupverzeichnisnamen

    Für meine Anwendungen ist das kein Problem, denn meine Raspis haben alle eindeutige Hostnamen.

    Aber ein bisschen kritisch ist das ja schon, falls jemand mehrere gleich benannte Hosts (z.B. gerne Default "raspberrypi") hat, und sei es nur zum Testen.

    Macht es nicht eventuell Sinn, beim Backup ein eindeutiges Unterscheidungskriterium einzuführen?

    • Entweder für den Backupverzeichnisnamen
    • oder für eine Sicherheitsabfrage bei gleichem Namen aber abweichendem Kriterium

    beim Erstellen eines Backups.

    Da böte sich vielleicht die UUID der Boot-Partition an:

    Code
    --- lsblk -f
    NAME        FSTYPE FSVER LABEL  UUID
    mmcblk0
    ├─mmcblk0p1 vfat   FAT32 boot   1B13-F78A
    └─mmcblk0p2 ext4   1.0   rootfs d17cceb3-e738-4246-XXXX-XXXXXXXXXXXX

    Edited once, last by simonz (November 24, 2023 at 1:41 PM).

  • Danke fuer den Hinweis. Das ist natuerlich ein valider Punkt.

    Das ist prinzipiell moeglich. Allerdings wird dann der Verzeichnisname noch mal laenger. Ist aber prinzipiell kein Showstopper. Allerdings ergibt sich dann ein anderes Problem: Seit Release 0.6.9 wird standardmaessig beim Restore immer eine neue UUID generiert. D.h. dann wird ein restortes System immer ein neues Backupverzeichnis anlegen was nicht sinnvoll und notwendig ist.

    Bislang hat noch niemand deswegen einen Issue erstellt. Wer mehrere Systeme hat wird ihnen verschiedene Hostnamen geben um sie unterscheiden zu koennen. DNS Server nehmen ja ueblicherweise den Hostnamen und haegen fritz.box o.ae. an fuer den DNS Namen des Systems. Auch wird in dem Meldungen das Backupverzeichnis genannt so dass jedem auffallen sollte dass es da einen Konflikt gibt. Somit sehe ich das als einen edge case an und plane diesbezueglich nichts zu aendern.

  • Somit sehe ich das als einen edge case an und plane diesbezueglich nichts zu aendern.

    Zudem würde das ein zu erwartendes Problem mit raspiBackupDialog geben.

    Da wird beim Restore der voreingestellte "Backuppfad" gewählt.

    Dort wird der Inhalt (Verzeichnisse der Hostnamen) angezeigt und nach eingabe des entsprechenden Hostname entweder das letzte Backup automatisch gewählt, (Option last)

    oder eine Auswahlliste der vorhandenen Backups angezeigt.

    Zudem kennt niemand seine UUID.... auswendig, um die Backups unterscheiden zu können.

  • Sorry, ich wollte nichts auslösen... :daumendreh2:

    Somit sehe ich das als einen edge case an und plane diesbezueglich nichts zu aendern.

    Das ist absolut okay. Ich möchte einfach nur mitteilen, was mir dazu im Kopf herumsaust.

    Meine Idee - ohne die genauen Hintergründe in raspiBackup* zu kennen, ist ungefähr so:

    Beim ersten Backup wird im wie bisher benannten Backupverzeichnis neben den Log- und *img Dateien eine UUID.txt o.ä. angelegt.

    Bei allen Folgebackups vom selben Hostnamen, und damit in dasselbe Backupverzeichnis, wird die aktuelle UUID mit der der UUID.txt im Backupverzeichnis verglichen und bei Abweichungen eine Rückfrage "Abweichung! Wollen Sie wirklich?" angezeigt. (Ja, das geht im Automatik-Modus nicht so. Da könnte man einen optionalen Abbruch mit Warnmeldung im Logfile konfigurieren.).

    Bei einem Komplett-Restore aus einem Backupverzeichnis wird ja, wie Du geschrieben hast, eine neue UUID generiert. Die könnte dann aber auch in der UUID.txt verewigt werden, so dass es wieder synchron ist.

    So, genug getextet. ;)

  • Sorry, ich wollte nichts auslösen...

    Alles gut. Das hat ja nichts mit "auslösen" zu tun.

    Im Grunde hast du ja Recht.

    Aber wer für mehrere Systeme identische Hostnamen verwendet, der handelt sich nicht nur Probleme mit raspiBackup ein. ;)

    Eine Änderung der Verzeichnisstruktur... zieht aber u.U. einen Rattenschwanz an Anpassungen der zahlreichen Hilfstools nach sich, die nicht alle aus der Feder von framp stammen. Da sind Probleme vorprogrammiert.

  • Aber wer für mehrere Systeme identische Hostnamen verwendet, der handelt sich nicht nur Probleme mit raspiBackup ein.

    Wenn ich mir so anschaue, was manche Computernutzer so tun, nicht nur hier im Forum ... :stumm:

    Egal, ob aus Unwissenheit, Leichtsinn, Experimentierfreude, (to be continued...)

    Ich weiß aus eigener Erfahrung, dass es EXTREM anspruchsvoll ist, Software auch nur halbwegs anwender-sicher zu machen.

  • Dein Vorschlag klingt sehr gut. Bei einem automatischen Lauf muesste man aber bei einem UUID Clash den Backup abbrechen. Dann muesste einmal manuell ein Backup angestossen werden mit einer Option die sagt dass der UUID clash ignoriert werden soll. Dann wird die zweite UUID eingetragen und ab dann laeuft der regelmaessige Backup mit neuer UUID wieder durch.

    Ein Designziel von raspiBackup war keine DB zu nutzen und somit all Backupmetadaten im Backupdateinamen zu hinterlegen. Ich haette auch z.B. eine JSON oder YAML Datei ins Backupverzeichnis stecken koennen fuer die Metadaten. Dort koennte ich jetzt relativ einfach die UUIDs wie von Dir vorgeschlagen hinterlegen. Habe ich aber nicht :no_sad: .

    Ich stand schon oefter mal vor der Frage ob ich eine Metadatendatei im Backupverzeichnis einfuehre. Dieses wuerde eine groessere Aenderung in raspiBackup bedeuten. Solange wirklich kein zwingender Grund vorliegt moechte ich den Aufwand lieber in andere Dinge stecken.

    Ich habe einen Issue dazu erstellt um die Sache nicht zu vergessen aber habe ihn gleich in den Backlog gestellt :) D.h. wenn es wirklich mal dazu kommen sollte dass eine Metadatendatei eingebaut wird sollte Dein Vorschlag zu implementieren nicht allzu aufwaendig sein.

  • Eine Änderung der Verzeichnisstruktur... zieht aber u.U. einen Rattenschwanz an Anpassungen der zahlreichen Hilfstools nach sich, die nicht alle aus der Feder von framp stammen. Da sind Probleme vorprogrammiert.

    Jupp. Ich weiss von Leuten die eigene Tools geschrieben haben (u.A. auch Du :lol: ) und die Verzeichnisnamen auseinanderpfluecken. Deshalb will ich auch daran nichts drehen und wie es so schoen heisst - backward compatible (rueckwaertskompatibel) - bleiben. Deshalb die Idee einer Metadatendatei - sofern sie auch wirklich dringend benoetigt wird;)

  • ...

    Ich weiß aus eigener Erfahrung, dass es EXTREM anspruchsvoll ist, Software auch nur halbwegs anwender-sicher zu machen.

    Das nutzt leider nichts.

    Jemand hat einen Spruch gemacht, der sich -leider- immer bewahrheitet:

    Quote from Unbekannt

    Sobald man etwas Idiotensicher macht, erfindet die Natur bessere Idioten.

    Douglas Adams formuliert es höflicher, der Sinn bleibt aber gleich. :rolleyes:

    Gruss

  • Hallo,

    ich wollte mir Raspibackup mal ansehen, scheitere aber leider bereits bei der Installation.

    Nach der Eingabe von:

    Code
    curl -L https://raspibackup.linux-tips-and-tricks.de/install | sudo bash

    Erscheint dieses UI, welches ich aber mit "Enter" nicht bestätigen kann?


    Dachte es liegt an Putty, habe es dann mal mit MS Powershell und SSH probiert, hier aber das identische Problem.

    Habe einen RaspberryPi 5 mit neustem OS und den Rest auch UpToDate.


    Danke für die Hilfe! :)

    _____________________________________________________________________________________________________________________

    EDIT:

    Auf einer anderen Seite habe ich folgenden Befehl gefunden, mit welchem es funktioniert:

    Code
    curl -o install -L https://raspibackup.linux-tips-and-tricks.de/install; sudo bash ./install
  • Das ist merkwuerdig :conf:

    Auf der Installationsseite steht aber auch

    Code
    curl -o install -L https://raspibackup.linux-tips-and-tricks.de/install; sudo bash ./install

    Ob das nun beim putty oder der Powershell einen Unterschied macht weiss ich nicht da ich kein putty und Powershell nutze und auch nicht testen kann.

    Anyhow: Wo hast Du diese Info her? Dann muss ich sie mal updaten - sofern ich es kann. Es geistern ja mittlerweile diverse Anleitungen im Netz rum und frueher war die Anleitung auch wie Du sie genutzt hast. Das hat sich aber mittlerweile geaendert.

    Raspibackup

    Das Tool schreibt sich raspiBackup :wink1:

  • framp Du könntest am Anfang des Installscriptes den Aufruf als USER unterbinden und einen Hinweis ausgeben, wenn Du folgende Zeilen einbindest für die BASH (bei DASH funktioniert das nicht):

    Bash
    if [ "$EUID" -ne 0 ]
     then echo "Please run as root"
     exit 255
    fi

    oder für die dash (was auch in der bash funktioniert):

    Code
    if [ "$(id -u)" -ne 0 ]
     then echo "Please run as root"
     exit 255
    fi

    Ps: sh bzw. dash wird nicht beim Code-Block einfügen angeboten. Ist hier aber relevant.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!