Manage timestamped collections of btrfs snapshots.
This project is inspired by Snapper's timeline and cleanup algorithms, but with the aim of being a simpler implementation, focused solely on btrfs.
The goal is not to be a drop-in replacement, but an alternative for administrators that prefer a minimum of baked-in opinions.
- Retention policies based around recurring calendar events
- Configurable snapshot locations for subvolumes
- Minimal dependencies: bash and coreutils
- Included systemd timers, but equally usable with cron
- Included shell completion for bash and zsh
To install in the default location (/usr/local
):
sudo ./scripts/install
To install in a different location:
PREFIX=/usr sudo ./scripts/install
There are two packages available for Arch Linux, available via the AUR.
Stable, based on the latest tagged release: btrfs-snapshots
Unstable, based on the latest commit to the main branch: btrfs-snapshots-git
Check out the man pages for detailed information about configuration and usage:
man 8 btrfs-snapshots
man 5 btrfs-snapshots
To run the included tests:
./scripts/test
To see the available options:
./scripts/test -h