Btrbk
Btrbk, a tool for creating snapshots and remote backups of btrfs subvolumes.
Configuration
Following example configuration will create a weekly incremental backup of a local Btrfs subvolume called nixos
and sends it compressed to a remote host myhost
via ssh using provided authentication credentials.
services.btrbk = {
extraPackages = [ pkgs.lz4 ];
instances.remote = {
onCalendar = "weekly";
settings = {
ssh_identity = "/etc/btrbk_key";
ssh_user = "btrbk";
stream_compress = "lz4";
volume."ssh://myhost/mnt" = {
target = "/mnt";
subvolume = "nixos";
};
};
};
};
Note that for transport stream compression using lz4
to work, the package must also be installed on the target host.
Usage
Manually dry running and testing a btrbk configuration
btrbk -c /etc/btrbk/remote.conf --dry-run --verbose run
The filename remote.conf
references the instance name choosen in the example configuration above.