# `btrfs` Backup Solution Encrypted incremental backups utilizing [`btrfs send`](https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-send) and [`age`](https://age-encryption.org/). ## Setup At `/media/storage/backup`, we have: ``` backup/ data/ [a btrfs **subvolume** containing the data] ... snapshots/ [btrfs snapshots of the 'data' subvolume] repo/ [where encrypted backup files will go] [an age-encryption v1 key for the at-rest passphrase] static-passphrase-key static-passphrase-key.pub [the contents of this repo:] backup.sh create-passphrase-file.sh ``` You can generate the `static-passphrase-key` and `static-passphrase-key.pub` with `rage-keygen -o static-passphrase-key` and by manually populating the pubkey file. ## Requirements **Note:** Make sure that `data` is actually a btrfs subvolume!! - `btrfs` - `bash` - `zstd` - [`rage`](https://github.com/str4d/rage) - [`simple-age-encryptor`](https://git.lavender.software/charlotte/simple-age-encryptor)