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.2.0.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: bumgr-0.2.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.2.0.tar.gz
Algorithm Hash digest
SHA256 55166ea4453e9bb5683011129432f34dbe6bf83c74f3284dc214a2ee5f4b930b
MD5 6ccc51c7059e577408aef41e17a31272
BLAKE2b-256 9aad4161eb4e3bd7a347df4e3d0297dc20f5055c2fd2c7d894728ad687692e8b

See more details on using hashes here.

Provenance

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

Publisher: publish.yml on 3j14/bumgr

Attestations:

File details

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

File metadata

  • Download URL: bumgr-0.2.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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ae8506ac99c94c0ea557d8429005594a67461c455b2927d32b3959a38edd9662
MD5 4f03e612fd1cfd27219cb624e6baf75c
BLAKE2b-256 db33ef079382c6cc1d49723c35865eaf2c10ca8328424317501aa2d885b8553a

See more details on using hashes here.

Provenance

The following attestation bundles were made for bumgr-0.2.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