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.

S
Description
Backups done dummy
Readme MIT
144 KiB
0 Stars 1 Watchers 0 Forks
Languages
Python 100%