Skip to main content

Backup management for restic

Project description

Bumgr

bumgr is a Python CLI application to manage backups using restic. The name is short for "Backup Manager".

Usage

Bumgr uses information stored in a configuration file located e.g. at ~/.config/bumgr/config.toml. See Configuration for more information.

Backup

To backup using Bumgr, you can use the bumgr backup command. If you only want to backup a specific backup configuration, you can specify the name of the backup (as specified in your config.toml):

bumgr backup mybackup

Mount

You may need to specify the mountpoint (an empty directory):

bumgr mount mybackup ~/Backup

Alternatively, you can specify the default mountpoint in the config.toml file.

Using restic itself

To use your configuration with the restic executable, you can use the bumgr env <backup> command. It outputs a list of environment variables like RESTIC_REPOSITORY="somerepo" RESTIC_PASSWORD_FILE="some/file". You can then pass these environment variables to restic:

eval $(bumgr env backupname) restic snapshots

Configuration

The configuration is written in TOML and has two sections: A global section used for defining global plugins, and a backup section that configures the individual backups.

An example configuration could look something like this:

[backups.example_sftp]
repository = "sftp:my-backup-server.example.org:/restic"
source = "$HOME"  # backup the entire home directory
exclude_file = ["$HOME/.backup-excludes.txt", "$HOME/.gitignore_global"]
# Use macOS Keychain to retrieve password (see 'man 1 security', macOS only)
password_command = "security find-generic-password -a restic -s 'Restic Backup' -g -w"
# also possible:
# password_file = ".config/bumgr/password-file.txt"
[[backups.example_sftp]]
# Make sure Tailscale is connected before starting the backup
module = "bumgr.contrib.tailscale.Tailscale"
args.connected = true

[backups.s3example]
repository = "s3:my-s3-server.example.org/bucket/example/restic"
source = "/"
exclude = ["/var", "/dev"]
password_file = "/etc/bumgr/password-file-root.txt"
[backups.s3example.env]
AWS_ACCESS_KEY_ID = "mys3accesskey"
AWS_SECRET_ACCESS_KEY = "very-secret-key"

License

Bumgr is licensed under the "BSD 3-Clause License".

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bumgr-0.3.0.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

bumgr-0.3.0-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file bumgr-0.3.0.tar.gz.

File metadata

  • Download URL: bumgr-0.3.0.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for bumgr-0.3.0.tar.gz
Algorithm Hash digest
SHA256 0a266cdc1845cca146b3deb25f60f9df7b307ce3befa9543a1410173680dd00e
MD5 ee4a549c612cb2e1dd5bc5311265faa6
BLAKE2b-256 4c0cc9be7b8e367542ea075f6a4cb10d0eb3bf3540a0f3c4a1ebb82acc9ecbb6

See more details on using hashes here.

Provenance

The following attestation bundles were made for bumgr-0.3.0.tar.gz:

Publisher: publish.yml on 3j14/bumgr

Attestations:

File details

Details for the file bumgr-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: bumgr-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for bumgr-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 00a9558587dbffc8ad751e8c4607c9f2d34439316bf3cbd5734d1785c3d91a5c
MD5 34ffaa4f48502e0f12bea8c442c814f2
BLAKE2b-256 29326b91b814ad4088d9ab50859661543349af69f1031489b59c367c1e0f9f26

See more details on using hashes here.

Provenance

The following attestation bundles were made for bumgr-0.3.0-py3-none-any.whl:

Publisher: publish.yml on 3j14/bumgr

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page