A wrapper script for Borg backup software that creates and prunes backups
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Dan Helfman c164684703 Allow to only run unit tests with Tox. 3 days ago
borgmatic Also read .yml ending configuration files 3 days ago
docs Switch to more standard "utm_source" for hosting provider link. 3 days ago
sample Change paths to reflect new pip install --user documentation. 1 week ago
scripts Merge branch 'master' into tox-skip-missing-interpreters 1 week ago
static Adding missing PNG logo. 1 year ago
tests Also read .yml ending configuration files 3 days ago
.drone.yml Don't use pip wrapper script in CI. 1 week ago
.gitignore Upgrade ruamel.yaml compatibility version range and fix support for Python 3.7 (#38, #76). 10 months ago
AUTHORS Add validate-borgmatic-config command 1 week ago
LICENSE Adding GPL v3 license. 4 years ago
MANIFEST.in Basic YAML configuration file parsing. 1 year ago
NEWS Add #borgmatic Freenode IRC channel to documentation. 3 days ago
README.md Auto-join #borgmatic from IRC web chat. 3 days ago
pyproject.toml Remove all configuration from Tox file 1 week ago
setup.cfg Add isort configuration 1 week ago
setup.py Update NEWS with remove Python cache files before each Tox run. 3 days ago
test_requirements.txt Add isort configuration 1 week ago
tox.ini Pass posargs to pytest in main testenv 3 days ago

README.md


title: borgmatic

Build Status

Overview

borgmatic logo

borgmatic is a simple Python wrapper script for the Borg backup software that initiates a backup, prunes any old backups according to a retention policy, and validates backups for consistency. The script supports specifying your settings in a declarative configuration file rather than having to put them all on the command-line, and handles common errors.

Here’s an example config file:

location:
    # List of source directories to backup. Globs are expanded.
    source_directories:
        - /home
        - /etc
        - /var/log/syslog*

    # Paths to local or remote repositories.
    repositories:
        - user@backupserver:sourcehostname.borg

    # Any paths matching these patterns are excluded from backups.
    exclude_patterns:
        - /home/*/.cache

retention:
    # Retention policy for how many backups to keep in each category.
    keep_daily: 7
    keep_weekly: 4
    keep_monthly: 6

consistency:
    # List of consistency checks to run: "repository", "archives", or both.
    checks:
        - repository
        - archives

borgmatic is hosted at https://torsion.org/borgmatic with source code available. It’s also mirrored on GitHub for convenience.

Want to see borgmatic in action? Check out the screencast.

How-to guides

Reference guides

Hosting providers

Need somewhere to store your encrypted offsite backups? The following hosting providers include specific support for Borg/borgmatic. Using these links and services helps support borgmatic development and hosting. (These are referral links, but without any tracking scripts or cookies.)

  • BorgBase: Borg hosting service with support for monitoring, 2FA, and append-only repos.

Support and contributing

Issues

You’ve got issues? Or an idea for a feature enhancement? We’ve got an issue tracker. In order to create a new issue or comment on an issue, you’ll need to login first. Note that you can login with an existing GitHub account if you prefer.

If you’d like to chat with borgmatic developers or users, head on over to the #borgmatic IRC channel on Freenode, either via web chat or a native IRC client.

Other questions or comments? Contact witten@torsion.org.

Contributing

If you’d like to contribute to borgmatic development, please feel free to submit a Pull Request or open an issue first to discuss your idea. We also accept Pull Requests on GitHub, if that’s more your thing. In general, contributions are very welcome. We don’t bite!

Also, please check out the borgmatic development how-to for info on cloning source code, running tests, etc.