Die Situation auf dem (meinem) PC
Das Betriebsystem (Debian Wheezy) und die Daten befinden sich auf der ersten Festplatte auf je einem Subvolume in einem BTRFS. Auf dem gemounteten Rootvolume, sehen die Subvolumes wie ganz normale Verzeichnisse aus. So kann auf das laufende System zugegriffen werden, ohne dass „lästige“ tmpfs und virtuelle Dateisysteme in /sys, /proc, /dev, /run,… berücksichtigt werden müssen.
Für die Backups steht eine weitere Platte zur Verfügung, die ebenfalls eine mit BTRFS formatierte Parition enthält. Es gibt also zwei BTRFS
- Ein BTRFS auf der ersten Platte, gemountet in /mnt/btrfs.
- /mnt/btrfs/debian.root
- /mnt/btrfs/debian.home
.
- Das BTRFS auf der zweiten Platte ist in /mnt/backup gemountet und enthält:
- /mnt/backup/current/debian.root
- /mnt/backup/current/debian.home
- /mnt/backup/snapshots
Das Backup
Für das eigentliche Backup werden debian.root und debian.home auf der Platte mit rsync mit den entsprechenden Subvolumes in current auf der zweiten Platte synchronisiert und sofort danach wird je ein readonly Snapshot in /mnt/backup/snapshots/ erstellt.
Für das komplette Backup sind also 4 Befehle notwendig:
Code: Alles auswählen
rsync -a --delete /mnt/btrfs/debian.root/ /mnt/backup/current/debian.root/
rsync -a --delete /mnt/btrfs/debian.root/ /mnt/backup/current/debian.root/
btrfs subvolume snapshot -r /mnt/backup/current/debian.root /mnt/backup/snapshots/debian.root.'date +%Y%m%d'
btrfs subvolume snapshot -r /mnt/backup/current/debian.home /mnt/backup/snapshots/debian.home.'date +%Y%m%d'
Deshalb habe ich ein kleines Skript geschrieben, das ich in meinem nächsten Beitrag herzeigen will…