Btrfs-Snapshots: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 11: Zeile 11:
  
 
= Read-only Snapshot =
 
= Read-only Snapshot =
* btrfs subvolume snapshot -r /mnt/work/sub2 /mnt/work/readonly_snapshot1
+
* btrfs subvolume snapshot -r /mnt/work/sub2 /mnt/work/sub1-snapshot2
  
 
= Gesamten Snapshot zurückspielen =
 
= Gesamten Snapshot zurückspielen =
 
Vorhandenes Subvolume umbenennen oder verschieben.
 
Vorhandenes Subvolume umbenennen oder verschieben.
* sudo mv /mnt/mybtrfs/subvol1 /mnt/mybtrfs/subvol1.old
+
* sudo mv /mnt/work/sub1 /mnt/work/vol1.old
 
Snapshot zurückspielen.
 
Snapshot zurückspielen.
* sudo btrfs subvolume snapshot /mnt/mybtrfs/snapshot1 /mnt/mybtrfs/subvol1
+
* sudo btrfs subvolume snapshot /mnt/work/sub1-snapshot1 /mnt/work/sub1
  
 
= Wiederherstellen einzelner Dateien aus einem Btrfs-Snapshot =
 
= Wiederherstellen einzelner Dateien aus einem Btrfs-Snapshot =

Version vom 16. Juli 2024, 12:19 Uhr

Was ist ein Snapshot

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

Ein Snapshot erstellen

  • btrfs subvolume snapshot /mnt/work/sub1 /mnt/work/sub1-snapshot1

Anzeigen von Snapshots

Snapshots wie Subvolumes anzeigen

  • sudo btrfs subvolume list /mnt/work
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/work/sub2 /mnt/work/sub1-snapshot2

Gesamten Snapshot zurückspielen

Vorhandenes Subvolume umbenennen oder verschieben.

  • sudo mv /mnt/work/sub1 /mnt/work/vol1.old

Snapshot zurückspielen.

  • sudo btrfs subvolume snapshot /mnt/work/sub1-snapshot1 /mnt/work/sub1

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