Verständnisfrage rsync

  • moinsen,

    vorab: ich habe hier zwar einige threads gelesen, aber meistens geht es da um NAS, automatische sicherungen und um raspi backup (vielleicht habe ich mir auch nur die falschen threads rausgepickt...). ich möchte dies aber zuerst einmal HÄNDISCH ausführen/testen, also keine cronjobs oder timer-units verwenden ...

    ich habe einen rpi4b mit sd-karte und externen datenspeicher (3.5'' SATA festplatte in einem usb-gehäuse). der externe datenspeicher ist wie folgt partitioniert:

    - erste partition 'root'

    - zweite partition 'backup' (ob das sinnvoll ist [backup auf demselben datenspeicher], soll hier bitte nicht erörtert werden)

    gebootet, klar, wird über sd-karte (geht ja noch nicht anders).

    nun möchte ich gerne meine root-partition HÄNDISCH mit rsync auf den datenspeicher (partition 'backup') unter dem ordner mit dem heutigen datum sichern. dazu habe ich folgende fragen:

    muss ich vorher gewisse dienste stoppen? wenn ja, wie kann ich ermitteln, welche dies sind und spielt die reihenfolge eine rolle.

    als linux noob bin ich mir auch nicht ganz sicher, wie ich die jeweiligen partitionen/ordner ansprechen soll. bisher bin ich soweit:

    Code
    systemctl
    
    sudo rsync -av --delete / /home/dirk/media/backup/2020-05-16

    wenn ich systemctl ausführe, verstehe ich nur bahnhof. ich habe auch schon den taskmanager bemüht (ist übersichtlicher), aber ich weiß nicht, welcher daemon/dienst/service wichtig dafür (backup ohne probleme mit rsync auszuführen) ist oder nicht. dass man mit sudo systemctl start/stop [dienst] dienste starten oder stoppen kann, weiß ich, ebenso, dass man mit cat systemctl [dienst] den status eines dienstes anzeigen kann.

    ist das nun völliger mist bzw. unnötig für mein vorhaben, oder befinde ich mich auf dem richtigen weg ?

    - ist der erste slash ausreichend als root-quelle ?

    - kommt sich rsync nicht ins gehege mit dem zielverzeichnis, das ja ebenfalls auf der root-partition ist ?

    besten dank im voraus !

    so long

    --- wer lesen kann, ist klar im Vorteil ---

    --- man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug ---

    --- der Fortschritt der Menschheit ist das Werk der Unzufriedenen ---

    --- Freude entsteht aus Mangel an Information ---

    --- Scheiße ist, wenn der Furz etwas wiegt ---

    2 Mal editiert, zuletzt von Perlchamp (16. Mai 2020 um 13:36)

  • sudo rsync -av --delete / /home/...

    Du solltest zusätzlich -x wählen, damit Dinge wie /dev oder /sys etc. nicht mit kopiert werden und es nicht zu ungewollter Rekursion /home/../backup/ ->/home/../backup/ kommt. Ebenso kann man --exclude='/tmp/*' und ggf. noch ein paar Verzeichnisse unterhalb /var in Betracht ziehen.

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • vielen dank llutz :)

    d.h:

    Code
    sudo rsync -avx --delete --exclude='/tmp/*' / /home/dirk/media/backup/2020-05-16

    muss der ordner '2020-05-16' erst erstellt werden, oder wird das automatisch erledigt ?

    --exclude: die verzeichnisse dann wahrscheinlich per komma trennen ? ('/tmp/*', '/var/...')

    --- wer lesen kann, ist klar im Vorteil ---

    --- man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug ---

    --- der Fortschritt der Menschheit ist das Werk der Unzufriedenen ---

    --- Freude entsteht aus Mangel an Information ---

    --- Scheiße ist, wenn der Furz etwas wiegt ---

  • Das Ziel muss existieren, also vorher anlegen. Mehrere Verzeichnisse ausschließen geht über mehrere --exclude='foo' --exclude='/bar*' oder über --exclude-from=filename wobei <filename> eine Datei bezeichnet, in der deine auszuschliessenden Verzeichnisse/Dateien gelistet werden - 1 pro Zeile.

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • super, danke !

    dienste müssen wohl auch beendet werden ?

    --- wer lesen kann, ist klar im Vorteil ---

    --- man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug ---

    --- der Fortschritt der Menschheit ist das Werk der Unzufriedenen ---

    --- Freude entsteht aus Mangel an Information ---

    --- Scheiße ist, wenn der Furz etwas wiegt ---

  • Das ist immer wieder ein Diskussionsgrund.

    1) Im strengen Sinne sollte man kein Backup eines laufenden Systems machen.
    2) Im weiteren Sinne sollte man Services die irgendwelche Stati im Speicher halten oder auf Disk updaten stoppen.

    3) Es gibt aber auch Leute die stoppen nichts und der Restore is OK.

    Empirisch habe ich bei mir festgestellt dass (1) zu streng ist. Bei (3) fuehle ich mich unwohl. Deshalb gibt es in raspiBackup die Option Services zu stoppen und zu starten.

  • Deshalb gibt es in raspiBackup die Option Services zu stoppen und zu starten.

    generell bin ich aus meinem empfinden her voll bei dir. man kann nicht einfach ein backup machen, wenn noch diverse dinge im hintergrund laufen. nun stellt sich mir eben die frage:

    was stoppen, um den betrieb generell nicht zu gefährden (=> absturz, system lahmlegen, etc.), und was kann man laufen lassen (ohne die ausführung des backups zu stören) ... und da bin ich als noob (noch) komplett überfordert, weil ich mich nicht mit dem system ansich auskenne ... bei windows hätte ich da keinerlei probleme (denke ich mal :cool: ...)

    --- wer lesen kann, ist klar im Vorteil ---

    --- man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug ---

    --- der Fortschritt der Menschheit ist das Werk der Unzufriedenen ---

    --- Freude entsteht aus Mangel an Information ---

    --- Scheiße ist, wenn der Furz etwas wiegt ---

  • 3) Es gibt aber auch Leute die stoppen nichts und der Restore is OK.

    Was kann denn theoretisch "schlimmes" passieren? Das Dateisystem wird ja wohl nicht kaputt gehen. Es bleiben also noch einzelne Daten die betroffen sein könnten. Während des Kopierens werden doch keine Dateien kaputt gehen, oder? Ich könnte mir aber vorstellen, das zu Laufzeit Daten aktualisiert werden und "nur" die alte Datei kopiert wird.

  • kaputt gehen nicht. das backup ist ja nur die eine seite. wie sieht es denn mit dem restore aus, wenn wichtige dateien nicht vorhanden sind? dann könnte es doch vorkommen, dass das system nicht (wieder an)läuft ...

    deswegen ist es für mich nun eben auch wichtig, WELCHE dienste vor einem backup laufen, und welche UNBEDINGT vorher gestoppt werden müssen ...

    --- wer lesen kann, ist klar im Vorteil ---

    --- man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug ---

    --- der Fortschritt der Menschheit ist das Werk der Unzufriedenen ---

    --- Freude entsteht aus Mangel an Information ---

    --- Scheiße ist, wenn der Furz etwas wiegt ---

  • Prozess X auf laufendem System öffnet Datei Y und hält Anderungen im Speicher.

    User schiebt Datei Y (gespeicherte Version) ins Backup.

    Prozess X beendet Zugriff auf Datei Y und schreibt Änderungen auf Disk.

    Führt zu Diskrepanz Filesystem / Backup. Kann problematisch sein, muss nicht.

    Wenn man aber ein Backup macht, um Daten zu sichern, sollte man auch sicher sein, dass das was gesichert wurde, den Erwartungen entspricht und sich ggf. problemlos wiederherstellen lässt.

    Kann man mit dem Restrisiko leben, kann man zur Laufzeit sichern. Ansonsten fährt man ein System besser runter oder friert es ein, sichert und ist glücklich.

    jm2c

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • einfrieren mit criu ?

    bleibt immer noch die frage, wie ich denn feststellen, welche dienste eigentlich laufen. auf den meisten seiten ist immer nur die rede von prozessen. nun, dienste, denke ich, sind auch prozesse. allerdings gibt es doch wohl unterschiede zwischen diesen. gibt es denn einen befehl, der mir explizit alle laufenden dienste anzeigt ?

    gibt's was 'besseres' (übersichtlicheres) als ps aux ?

    --- wer lesen kann, ist klar im Vorteil ---

    --- man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug ---

    --- der Fortschritt der Menschheit ist das Werk der Unzufriedenen ---

    --- Freude entsteht aus Mangel an Information ---

    --- Scheiße ist, wenn der Furz etwas wiegt ---

    2 Mal editiert, zuletzt von Perlchamp (16. Mai 2020 um 18:17)

  • Also ich habe schon mehrfach im laufenden Betrieb Sicherungen mit rsync gemacht....

    auf 2 . USB Stick z.B.

    Und auch getestet... d.h. davon gebootet usw.

    bisher ging es immer .. und es fehlte auch nichts...

    evtl. waren Logfiles mit Lücken.. aber wen stört das...

    Wenn Du eine Datenbank laufen hast, dann wäre es evtl. sinnvoll die anzuhalten..

    Aber ... natürlich bleibt ein Restrisiko... das muss man abwägen

  • holgerble :

    ich habe zwar eine datenbank, aber nur als datei vorliegen ... außerdem noch MagicMirror, aber das kann ich vorher stoppen, kein thema. ja, logfiles können wichtig sein, aber da bin ich auf deiner seite ... beim einen geht's beim anderen nicht. es gibt doch immer pcs, welche - warum auch immer - die fäule haben ...

    llutz :

    also mal criu installieren. hältst du das für ratsam ?

    --- wer lesen kann, ist klar im Vorteil ---

    --- man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug ---

    --- der Fortschritt der Menschheit ist das Werk der Unzufriedenen ---

    --- Freude entsteht aus Mangel an Information ---

    --- Scheiße ist, wenn der Furz etwas wiegt ---

  • Perlchamp Ich habe keine persönliche Erfahrung damit, kann also nichts dazu sagen.

    Persönlich kann ich allerdings nicht nachvollziehen, warum man das ganze /-fs sichern will.

    Es reicht imho völlig /etc, /home und ggf. /usr/local , evtl. DB-dumps, sowie eine Liste der installierten Pakete zu sichern. Dabei ist die Wahrscheinlichkeit geöffneter Daten während der Sicherung extrem gering.

    Das OS kann man im Bedarfsfall innerhalb von Minuten neu aufsetzen, die Änderungen aus dem Backup holen und fertig.

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • es gibt ja --exclude, um ordner auszuschließen ... das würde aber eine recht lange befehlszeile ergeben ... gibt es auch ein pendant dazu (für rsync) ? oder für jeden ordner, den man sichern möchte, einen rsync 'raushauen' ?

    --- wer lesen kann, ist klar im Vorteil ---

    --- man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug ---

    --- der Fortschritt der Menschheit ist das Werk der Unzufriedenen ---

    --- Freude entsteht aus Mangel an Information ---

    --- Scheiße ist, wenn der Furz etwas wiegt ---

  • ja, danke. werde ich machen ...

    --- wer lesen kann, ist klar im Vorteil ---

    --- man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug ---

    --- der Fortschritt der Menschheit ist das Werk der Unzufriedenen ---

    --- Freude entsteht aus Mangel an Information ---

    --- Scheiße ist, wenn der Furz etwas wiegt ---

  • Was kann denn theoretisch "schlimmes" passieren? Das Dateisystem wird ja wohl nicht kaputt gehen.

    Das Problem ist dass eigentlich der gesamte Status des Systems gesichert und restored werden muesste. D.h. das aktuelle Filesystem und der Hauptspeicher. In VMWare ESX gibt es die Moeglichkeit einen Snapshot zu erstellen und zu restoren der eben genau dieses beinhaltet. D.h. nach dem Restore steht die VM wieder genau so da wie sie zum Zeitpunkt des Snapshots gesichert wurde. Dabei wird durch die Snapshotimplementierung sichergestellt dass zum Zeitpunkt Snapshot + t das Filesystem und der Hauptspeicher in sync sind. Damit geht kein State des Systems verloren. Allerdings werden natuerlich keine externen States gesichert wie z.B. Stati von externen Netzwerkverbindungen oder REST calls in DB o.ae.

    Das Problem mit dem Aendern von Dateien waehrend des laenger dauernden Backups was schon erwaehnt wurde koennte man mit brtfs Snapshots loesen. Aber den Hauptspeicher und eventuell dort liegende Stati bekommt man damit nicht in den Griff. Ausser man faehrt vor dem Snapshot alle Services runter die sich Stati in Memory halten. Typische Vertreter davon sind Datenbanken. Diese bieten aber ueblicherweise eigene Backup/Restore Tools an. D.h. um Datenbanken zu sichern nimmt man diese Tools oder faehrt sie eben vor den Backup runter.

    Die Frage ob man ein ganzes System sichern muss muss jeder fuer sich selbst entscheiden. Wenn man gezielt wichtige Dateien sichert kann man mit entsprechenden Kenntnissen i.d.R. auch schnell ein System wieder restoren sofern man keine DBs mit ihren Stati sichern muss. Dazu muss man dann eben die DB Sicherungstools benutzen. Ich denke ich kann das auch aber ich muss sagen ich starte lieber einen Restore der dann vielleicht 30 Minuten dauert aber habe dann sofort ein wieder lauffaehiges System als dass ich mir ein neues Image auf die SD Karte ziehe und dann die gesicherten Daten wieder an ihre Stelle kopiere. Schnell hat man mal was am System geaendert und vergisst dass noch weitere Dateien gesichert werden muessen. ich habe so grob geschaetzt ungefaehr 5-10 Mal einen FullRestore mit raspiBackup machen muessen. Es ist wesentlich stressfreier einen Fullbackup zu restoren als ein System wieder neu aufzubauen. Ich kann mich noch an jemanden erinnern, der hatte nicht, wie ich immer wieder vorbete, den Restore immer mal wieder durchgefuehrt und geuebt. Der war total von der Rolle - ich konnte ihm dann aber helfen.

    Kurzum: Ein Vollbackp dauert laenger - aber der Restore ist stressfreier und ich behaupte mal auch schneller.

  • Kurzum: Ein Vollbackp dauert laenger - aber der Restore ist stressfreier und ich behaupte mal auch schneller.

    da bin ich voll bei dir.

    ich habe mich mal etwas mit rsnapshot beschäftigt und bin da eher skeptisch, da es auf dem konzept der inkrementellen sicherung basiert. kann jemand mir ein programm empfehlen, das auf dem konzept der differentiellen sicherung basiert ?

    besten dank im voraus

    so long

    --- wer lesen kann, ist klar im Vorteil ---

    --- man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug ---

    --- der Fortschritt der Menschheit ist das Werk der Unzufriedenen ---

    --- Freude entsteht aus Mangel an Information ---

    --- Scheiße ist, wenn der Furz etwas wiegt ---

Jetzt mitmachen!

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