backup script for btrfs
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
emily ede50c4517
fix oopsies
3 months ago
LICENSE add license 3 months ago fix oopsies 3 months ago
btrbk delete incremental backups correctly after full backup 3 months ago
btrbk.conf minor changes 5 months ago
btrbk.service typo 4 months ago
btrbk.timer service modified 5 months ago fixed spacing 4 months ago

btrbk - btrfs backup and restore script

This is a bash script I made to create simple, incremental, PGP encrypted backups of your btrfs subvolumes.

Rclone is used to support a wide variety of Storage Backends. Encryption is done by the Standard gpg commandline tool.


  • Create incremental Backups of btrfs filesystem
  • Keep local btrfs snapshots
  • Customizable retention of Backups
  • PGP encryption
  • Rclone used for Storage Backend
  • Full System restore from Live USB


  • Snapshots can't be restored on the fly from Remote Storage
  • PGP encryption is not optional
  • No implementation of possible Features when Remote Storage is also a btrfs
  • Backup retention settings have limited options of freedom
  • Might interfere with digint/btrbk
  • Testing is needed to verify reliabilty
  • I don't recommend anyone to use this


To install the tool just clone this Repository and run the script.

git clone
cd btrbk


Configuration is done in /etc/btrbk.conf

Documentaion for all variables you have to set is availabe in that file.


Get help with btrbk --help

Usage: btrbk [options]
A script to automatically or manually backup your btrfs subvolumes.
  -b, --backup                runs backup manually if not already run today
  -f, --force                 force backup to override today's backup
      --date=YYYY-MM-DD       define a date from which to restore when using -r
      --restore=VOLNAME       restores the latest snapshot of a given subvolume
      --full-restore=PATH     this walks you through an complete config restore
                              and will restore the whole system to a given directory
  -h, --help                  display this help and exit


BSD 2-Clause License