Linux rsnapshot Alternative mit btrfs?

Linux Betriebssystem

Gummiente

Well-known member
Themenstarter
Registriert
23 Juni 2008
Beiträge
3.972
Ich musste leider feststellen, dass rsnapshot bei Debian 11 nicht mehr dabei ist. Das hatte ich bisher genutzt, um mehrere Versionen von Backups vorzuhalten.

Jetzt experimentiere ich mit btrfs Snapshots als Alternative und habe einige Probleme.

Sicherung lässt sich nicht schnell verifizieren:
Mit "rsync -avhn --delete quelle sicherung" konnte ich schnell einen Überblick verschaffen ob der Datenbestand identisch sind.
Mit "rsync -avhcn --delete quelle sicherung" ging das auch mit Checksum.

Das geht nicht mehr mit btrfs Snapshots weil offenbar bei Snapshot und Replikation die Metadaten verändert werden.

btrfs send --no-data -p snapshot-master snapshot-aktuell | btrfs receive --dump

zeigt dasselbe Problem.

Das Verifizieren wird umso wichtiger weil gelöschte, veränderte, neue Dateien in der Sicherung bei einer inkrementellen Snapshot Replizierung keine Berücksichtigung finden.

Lohnt es sich weiter mit btrfs zu experimentieren oder sollte ich lieber nach etwas anderem umsehen? Mich hat immer gestört, dass bei rsync die Dateien neu übertragen wurde wenn sie umbenannt wurden. So elegant also die schnelle, versionierte, inkrementelle Sicherung ist, ohne die Möglichkeit einer Verifizierung habe ich kein gutes Gefühl.

Habt ihr Tipps für mich?

Danke.
 
Vielen Dank für den Hinweis.

Warum ist rsnapshot denn bei Debian 11 rausgeflogen?

Sicherlich ist btrfs und Snapshot der Lösung mit rsnapshot zumindest von Prinzip her überlegen aber es war so ein einfaches Tool das überall funktioniert und von jedem der verstanden hat was Dateien und Verzeichnissen sind benutzbar ist. Bei btrfs muss man tief eintauchen in die Materie und das gelernte lässt sich nur auf Systemen mit btrfs anwenden. Wenn eine Partition mit ext4 formatiert ist hat man schon Pech gehabt...
 
Danke.

restic klingt interessant aber es scheint eher in die Kategorie aufgebohrtes rsync zu fallen und nicht rsnapshot das auf rsync basierend einen Satz an Skripten bereitstellt das man nur an cron einzuhängen braucht?

Mittlerweile bin ich fast so weit, dass ich erwäge selber ein paar Skripte zusammenzuhacken. Das muss ja nicht viele unbekannte Szenarien abdecken sondern nur ein paar Verzeichnisse auf eine HDD sichern.

Erstellen der Sicherung nach wie vor mit rsync und Read Only Snapshots um mehrere Versionen aufzuheben...

Könnte man so etwas an cron ranhängen? Aufräumen fehlt noch aber da müsste ich noch rausfinden wie viele Snapshots ich aufheben kann. Hätte den Vorteil, dass man direkt auf das Backup zugreifen kann und nicht wie bei restic mit speziellen Tools.

#!/bin/sh

rsync -avh -delete quelle1 quelle2 /sicherungslaufwerk/sicherungen/ && \
btrfs subvolume snapshot -r /sicherungslaufwerk/sicherungen /sicherungslaufwerk/archiv/`date +%Y-%m-%d-%H:%M`
 
rsync nutze ich nur noch selten - ich nehme für Syncs auf Filebasis lieber unison, denn das synct gleich in beide Richtungen (bei mehreren Laptops in Richtung Fileserver sinvoll und/oder auch bei verschlüsselten Containern).
Für Backups nutze seit Jahren btrfs ohne Probleme und bin immer glücklich, dass meine Backups so zügig von statten gehen. Das kannst Du auch haben nach ein paar Überlegungen und Vorbereitungen:

1. Sortiere Deine Daten, die Du sichern willst, sinnvoll (!) (solltest Du auch mal überlegen, bevor Du das Ganze mit unison machen willst).
2. erstelle für jeden zu sichernden Hauptordner ein btrfs-Subvolume
3. verschiebe alle Inhalte der Ordner in das jeweilige Subvolume (die Ordner sollten danach leer sein !)
4. mounte die jeweiligen Subvolumes in die jeweiligen leeren Ordner - vorzugsweise über die /etc/fstab

Nach dem Reboot hast Du dann die gleiche Ordnerstruktur wie vorher, nur halt gut vorbereitet für btrfs snapshot, send, receive u.s.w.
Danach kann man super prima per Script (welches natürlich bei Bedarf auch per cron oder systemd.timer läuft) per btrfs send | btrfs receive zügig sichern / syncen.
Hier mal ein Beispiel, wie ich mein Home-Verzeichnis (welches auch ein btrfs-Subvolume ist) auf eine verschlüsselte USB-HDD mit btrfs synce ...
Die Usernamen und UUIDs sind in diesem Beispiel modifiziert - spielt aber keine Rolle, um das Prinzip zu verstehen ...
Das Script macht sogar noch eine Versionierung - d.h. Du kannst bestimmen, wie viele ältere Snapshots Du noch zusätzlich aufheben möchtest (Variable "MAXBACKUPFILES=").
Im Prinzip brauchst Du nur im Fileheader ein paar Variablen ändern und das sollte das laufen. Falls Du ohne Encryption fährst, musste die crypto-Teile halt noch weg basteln.

Viel Spass :)

https://pastebin.com/4uLHbZHF
 
Zuletzt bearbeitet:
  • ok1.de
  • IT Refresh - IT Teile & mehr
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben