backup script for btrfs
Find a file
2023-07-12 10:50:08 +02:00
btrbk added disclaimer 2023-07-12 10:49:22 +02:00
btrbk.conf minor changes 2022-07-12 13:21:07 +02:00
btrbk.service typo 2022-07-18 08:59:29 +02:00
btrbk.timer service modified 2022-07-11 15:46:38 +02:00
install.sh fixed spacing 2022-08-05 12:29:39 +02:00
LICENSE add license 2022-08-30 09:36:35 +02:00
README.md added disclaimer 2023-07-12 10:50:08 +02:00

btrbk - btrfs backup and restore script

This is horrible don't use this

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.

Features

  • 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

Limitations

  • 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

Installation

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

git clone https://git.bsd.gay/snaki/btrbk.git
cd btrbk
./install.sh

Configuration

Configuration is done in /etc/btrbk.conf

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

Usage

Get help with btrbk --help

Usage: btrbk [options]
A script to automatically or manually backup your btrfs subvolumes.
options:
  -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

License

BSD 2-Clause License