cc6f9047f1f5c534c2bddd3eea927d875676691e
Lohup
(loh-up - backup for lohs[1])
Lohup - backups done silly.
Development status
Early alpha. Works on my machines.
Installation
Python 3.14 is required. You can get it using uv.
Also you will need Rustic as a backup backend. v0.11.4 is fully compatible.
pacman -S rustic
# or get the binary binary from https://github.com/rustic-rs/rustic/releases/tag/v0.11.4
# and install lohup using uv
uv tool install git+https://github.com/kam1sh/lohup
Usage
Example configuration see in corresponding directory
CLI examples:
lohup --config config.toml restic --repo cloud -- init
# if config=lohup.toml then option can be omitted
lohup backup-all
lohup snapshots --repo cloud
Core features
- Configuration in TOML
- Local database for snapshot information
- Backup hooks, such as create/remove btrfs snapshot before backup
- Environment variables
Features in TODO
- LVM hooks
- Better error handling and printing
- Verbose/debug messages
- Metrics and OpenTelemetry support
- Binary releases, win+linux amd64 along with Python wheel
- Include files in profiles with
paths-from - Pluggable engines
Development
git clone git@github.com:kam1sh/lohup lohup-dev && cd lohup-dev
# install dependencies
uv sync --group dev
# run tests
uv run pytest --tb=short
# building binaries to dist directory
uv run pyinstaller -F lohup-cli.spec
[1] in Russian language loh (лох) means "dummy" or "loser". So, yeah, backups are for losers.
Languages
Python
100%