Btrfs-Snapshots: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:
 
Ein Snapshot ist eine Momentaufnahme eines Btrfs-Dateisystems oder eines Subvolumes.
 
Ein Snapshot ist eine Momentaufnahme eines Btrfs-Dateisystems oder eines Subvolumes.
 
= Ein Snapshot erstellen =
 
= Ein Snapshot erstellen =
* btrfs subvolume create /mnt/work/sub1
+
* btrfs subvolume snapshot /mnt/work/sub1 /mnt/work/sub1-snapshot1
* btrfs subvolume snapshot /mnt/work/sub /mnt/work/sub1-snapshot1
 
  
 
= Anzeigen von Snapshots =
 
= Anzeigen von Snapshots =
 
Snapshots wie Subvolumes anzeigen
 
Snapshots wie Subvolumes anzeigen
* sudo btrfs subvolume list /mnt/mybtrfs
+
* sudo btrfs subvolume list /mnt/work
 
  ID 256 gen 8 top level 5 path subvol1
 
  ID 256 gen 8 top level 5 path subvol1
 
  ID 257 gen 9 top level 5 path snapshot1
 
  ID 257 gen 9 top level 5 path snapshot1
  
 
= Read-only Snapshot =
 
= Read-only Snapshot =
* btrfs subvolume snapshot -r /mnt/mybtrfs /mnt/mybtrfs/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/sub1.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 =
 
Navigieren Sie zum Snapshot-Verzeichnis.
 
Navigieren Sie zum Snapshot-Verzeichnis.
* cd /mnt/mybtrfs/snapshot1
+
* cd /mnt/work/sub1-snapshot1
 
Datei finden und kopieren.
 
Datei finden und kopieren.
* sudo rsync -avzx file.txt /mnt/mybtrfs/subvol1
+
* sudo rsync -avzx file.txt /mnt/work/sub1
  
 
= Shell-Skript erstellen =
 
= Shell-Skript erstellen =
Zeile 30: Zeile 29:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
#!/bin/bash
 
#!/bin/bash
SNAPSHOT_NAME=/mnt/mybtrfs/snapshot_subvol1_$(date +%Y.%m.%d_%H:%M:%S)
+
SNAPSHOT_NAME=/mnt/work/sub1_snapshot_$(date +%Y.%m.%d_%H:%M:%S)
btrfs subvolume snapshot /mnt/mybtrfs/subvol1 $SNAPSHOT_NAME
+
btrfs subvolume snapshot /mnt/work/sub1 $SNAPSHOT_NAME
 
</syntaxhighlight>
 
</syntaxhighlight>
 
* sudo chmod +x /usr/local/bin/btrfs_snapshot.sh
 
* sudo chmod +x /usr/local/bin/btrfs_snapshot.sh

Aktuelle Version vom 16. Juli 2024, 12:27 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/sub1.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/work/sub1-snapshot1

Datei finden und kopieren.

  • sudo rsync -avzx file.txt /mnt/work/sub1

Shell-Skript erstellen

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

Crontab eintragen

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