2018-09-02 07:45:13 +02:00
|
|
|
---
|
|
|
|
title: borgmatic
|
|
|
|
permalink: borgmatic/index.html
|
2018-09-02 07:38:17 +02:00
|
|
|
---
|
2019-05-13 22:56:49 +02:00
|
|
|
![Build Status](https://build.torsion.org/api/badges/witten/borgmatic/status.svg)
|
|
|
|
|
2014-11-27 18:29:31 +01:00
|
|
|
## Overview
|
2014-10-31 06:34:03 +01:00
|
|
|
|
2018-08-30 07:44:12 +02:00
|
|
|
<img src="https://projects.torsion.org/witten/borgmatic/raw/branch/master/static/borgmatic.png" width="150px" style="float: right; padding-left: 1em;">
|
|
|
|
|
2018-08-30 07:57:32 +02:00
|
|
|
borgmatic is a simple Python wrapper script for the
|
2018-09-03 07:06:57 +02:00
|
|
|
[Borg](https://www.borgbackup.org/) 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.
|
2014-10-31 06:34:03 +01:00
|
|
|
|
2014-11-26 01:01:59 +01:00
|
|
|
Here's an example config file:
|
|
|
|
|
2017-07-05 03:23:59 +02:00
|
|
|
```yaml
|
|
|
|
location:
|
|
|
|
# List of source directories to backup. Globs are expanded.
|
|
|
|
source_directories:
|
|
|
|
- /home
|
|
|
|
- /etc
|
|
|
|
- /var/log/syslog*
|
|
|
|
|
2017-07-23 07:56:46 +02:00
|
|
|
# Paths to local or remote repositories.
|
|
|
|
repositories:
|
|
|
|
- user@backupserver:sourcehostname.borg
|
2017-07-05 03:23:59 +02:00
|
|
|
|
2017-07-10 20:06:28 +02:00
|
|
|
# Any paths matching these patterns are excluded from backups.
|
|
|
|
exclude_patterns:
|
|
|
|
- /home/*/.cache
|
|
|
|
|
2017-07-05 03:23:59 +02:00
|
|
|
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
|
2016-01-20 13:11:15 +01:00
|
|
|
```
|
2015-05-11 07:00:31 +02:00
|
|
|
|
2016-06-10 20:21:53 +02:00
|
|
|
borgmatic is hosted at <https://torsion.org/borgmatic> with [source code
|
2017-10-28 06:55:08 +02:00
|
|
|
available](https://projects.torsion.org/witten/borgmatic). It's also mirrored
|
2017-10-28 07:27:28 +02:00
|
|
|
on [GitHub](https://github.com/witten/borgmatic) for convenience.
|
2014-11-19 03:32:16 +01:00
|
|
|
|
2018-09-30 20:11:07 +02:00
|
|
|
Want to see borgmatic in action? Check out the <a
|
|
|
|
href="https://asciinema.org/a/203761" target="_blank">screencast</a>.
|
|
|
|
|
2018-09-30 06:38:38 +02:00
|
|
|
<script src="https://asciinema.org/a/203761.js" id="asciicast-203761" async></script>
|
2018-02-20 02:44:20 +01:00
|
|
|
|
2014-10-31 06:34:03 +01:00
|
|
|
|
2019-02-04 07:20:59 +01:00
|
|
|
## How-to guides
|
2014-10-31 06:34:03 +01:00
|
|
|
|
2019-02-05 07:12:33 +01:00
|
|
|
* [Set up backups with borgmatic](docs/how-to/set-up-backups.md) ⬅ *Start here!*
|
2019-02-04 07:20:59 +01:00
|
|
|
* [Make per-application backups](docs/how-to/make-per-application-backups.md)
|
|
|
|
* [Deal with very large backups](docs/how-to/deal-with-very-large-backups.md)
|
|
|
|
* [Inspect your backups](docs/how-to/inspect-your-backups.md)
|
2019-02-19 07:43:32 +01:00
|
|
|
* [Restore a backup](docs/how-to/restore-a-backup.md)
|
2019-02-04 07:20:59 +01:00
|
|
|
* [Run preparation steps before backups](docs/how-to/run-preparation-steps-before-backups.md)
|
|
|
|
* [Upgrade borgmatic](docs/how-to/upgrade.md)
|
|
|
|
* [Develop on borgmatic](docs/how-to/develop-on-borgmatic.md)
|
2016-06-10 20:53:45 +02:00
|
|
|
|
2017-07-10 20:06:28 +02:00
|
|
|
|
2019-02-05 07:12:33 +01:00
|
|
|
## Reference guides
|
|
|
|
|
|
|
|
* [borgmatic configuration reference](docs/reference/configuration.md)
|
2019-02-05 07:27:40 +01:00
|
|
|
* [borgmatic command-line reference](docs/reference/command-line.md)
|
2019-02-05 07:12:33 +01:00
|
|
|
|
|
|
|
|
2018-06-17 23:55:57 +02:00
|
|
|
## Support and contributing
|
2014-11-18 06:57:44 +01:00
|
|
|
|
2018-06-17 23:55:57 +02:00
|
|
|
### Issues
|
|
|
|
|
|
|
|
You've got issues? Or an idea for a feature enhancement? We've got an [issue
|
|
|
|
tracker](https://projects.torsion.org/witten/borgmatic/issues). In order to
|
|
|
|
create a new issue or comment on an issue, you'll need to [login
|
|
|
|
first](https://projects.torsion.org/user/login). Note that you can login with
|
|
|
|
an existing GitHub account if you prefer.
|
|
|
|
|
|
|
|
Other questions or comments? Contact <mailto:witten@torsion.org>.
|
|
|
|
|
|
|
|
|
|
|
|
### Contributing
|
|
|
|
|
|
|
|
If you'd like to contribute to borgmatic development, please feel free to
|
|
|
|
submit a [Pull Request](https://projects.torsion.org/witten/borgmatic/pulls)
|
|
|
|
or open an [issue](https://projects.torsion.org/witten/borgmatic/issues) 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!
|
|
|
|
|
2019-02-04 07:20:59 +01:00
|
|
|
Also, please check out the [borgmatic development
|
|
|
|
how-to](docs/how-to/develop-on-borgmatic.md) for info on cloning source code,
|
|
|
|
running tests, etc.
|