Btrfs-Snapshots

Aus Xinux Wiki
Version vom 9. Juni 2024, 15:53 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= Was ist ein Snapshot = Ein Snapshot ist eine Momentaufnahme eines Btrfs-Dateisystems oder eines Subvolumes. = Ein Snapshot erstellen = * btrfs subvolume crea…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Was ist ein Snapshot

Ein Snapshot ist eine Momentaufnahme eines Btrfs-Dateisystems oder eines Subvolumes.

Ein Snapshot erstellen

  • btrfs subvolume create /mnt/mybtrfs/subvol1
  • btrfs subvolume snapshot /mnt/mybtrfs/subvol1 /mnt/mybtrfs/snapshot1

Anzeigen von Snapshots

  • Snapshots wie Subvolumes anzeigen und löschen.
  • sudo btrfs subvolume list /mnt/mybtrfs
ID 256 gen 8 top level 5 path subvol1
ID 257 gen 9 top level 5 path snapshot1

Read-only Snapshot

  • btrfs subvolume snapshot -r /mnt/mybtrfs /mnt/mybtrfs/readonly_snapshot1
  • Snapshots benötigen nur wenig Speicherplatz, da sie nur die Änderungen aufzeichnen.

Gesamten Snapshot zurückspielen

  • Vorhandenes Subvolume umbenennen oder verschieben.
  • sudo mv /mnt/mybtrfs/subvol1 /mnt/mybtrfs/subvol1.old
  • Snapshot zurückspielen.
  • sudo btrfs subvolume snapshot /mnt/mybtrfs/snapshot1 /mnt/mybtrfs/subvol1

Wiederherstellen einzelner Dateien aus einem Btrfs-Snapshot

  • Navigieren Sie zum Snapshot-Verzeichnis.
  • cd /mnt/mybtrfs/snapshot1
  • Datei finden und kopieren.
  • sudo rsync -avzx file.txt /mnt/mybtrfs/subvol1

Shell-Skript erstellen

  • sudo nano /usr/local/bin/btrfs_snapshot.sh
#!/bin/bash
SNAPSHOT_NAME=/mnt/mybtrfs/snapshot_subvol1_$(date +%Y.%m.%d_%H:%M:%S)
btrfs subvolume snapshot /mnt/mybtrfs/subvol1 $SNAPSHOT_NAME
  • sudo chmod +x /usr/local/bin/btrfs_snapshot.sh

Crontab eintragen

  • sudo crontab -e
0 2 * * * /usr/local/bin/btrfs_snapshot.sh