2018-09-01 22:45:13 -07:00
---
title: borgmatic
2019-05-20 11:41:39 -07:00
permalink: index.html
2018-09-01 22:38:17 -07:00
---
2019-06-23 16:53:33 -07:00
<a href="https://build.torsion.org/witten/borgmatic" alt="build status"></a>
2019-05-13 22:56:49 +02:00
2014-11-27 09:29:31 -08:00
## Overview
2014-10-30 22:34:03 -07:00
2019-05-13 22:33:28 -07:00
<img src="https://projects.torsion.org/witten/borgmatic/raw/branch/master/static/borgmatic.png" alt="borgmatic logo" width="150px" style="float: right; padding-left: 1em;">
2018-08-29 22:44:12 -07:00
2019-05-26 13:35:51 -07:00
borgmatic is simple, configuration-driven backup software for servers and
workstations. Backup all of your machines from the command-line or scheduled
jobs. No GUI required. Built atop [Borg Backup ](https://www.borgbackup.org/ ),
borgmatic initiates a backup, prunes any old backups according to a retention
policy, and validates backups for consistency. borgmatic 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-30 22:34:03 -07:00
2014-11-25 16:01:59 -08:00
Here's an example config file:
2017-07-04 18:23:59 -07:00
```yaml
location:
# List of source directories to backup. Globs are expanded.
source_directories:
- /home
- /etc
- /var/log/syslog*
2017-07-22 22:56:46 -07:00
# Paths to local or remote repositories.
repositories:
- user@backupserver:sourcehostname .borg
2017-07-04 18:23:59 -07:00
2017-07-10 11:06:28 -07:00
# Any paths matching these patterns are excluded from backups.
exclude_patterns:
- /home/*/.cache
2017-07-04 18:23:59 -07:00
retention:
# Retention policy for how many backups to keep in each category.
keep_daily: 7
keep_weekly: 4
keep_monthly: 6
consistency:
2019-10-22 16:28:42 -07:00
# List of consistency checks to run: "repository", "archives", etc.
2017-07-04 18:23:59 -07:00
checks:
- repository
- archives
2019-10-22 16:28:42 -07:00
hooks:
# Preparation scripts to run, databases to dump, and monitoring to perform.
before_backup:
- prepare-for-backup.sh
postgresql_databases:
- name: users
healthchecks: https://hc-ping.com/be067061-cf96-4412-8eae-62b0c50d6a8c
2016-01-20 13:11:15 +01:00
```
2015-05-10 22:00:31 -07:00
2016-06-10 11:21:53 -07:00
borgmatic is hosted at <https://torsion.org/borgmatic> with [source code
2017-10-27 21:55:08 -07:00
available](https://projects.torsion.org/witten/borgmatic). It's also mirrored
2017-10-27 22:27:28 -07:00
on [GitHub ](https://github.com/witten/borgmatic ) for convenience.
2014-11-18 18:32:16 -08:00
2018-09-30 11:11:07 -07:00
Want to see borgmatic in action? Check out the <a
href="https://asciinema.org/a/203761" target="_blank">screencast</a>.
2018-09-29 21:38:38 -07:00
<script src="https://asciinema.org/a/203761.js" id="asciicast-203761" async></script>
2018-02-19 17:44:20 -08:00
2014-10-30 22:34:03 -07:00
2019-02-03 22:20:59 -08:00
## How-to guides
2014-10-30 22:34:03 -07:00
2019-05-25 21:48:05 -07:00
* [Set up backups with borgmatic ](https://torsion.org/borgmatic/docs/how-to/set-up-backups/ ) ⬅ * Start here! *
* [Make per-application backups ](https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/ )
* [Deal with very large backups ](https://torsion.org/borgmatic/docs/how-to/deal-with-very-large-backups/ )
* [Inspect your backups ](https://torsion.org/borgmatic/docs/how-to/inspect-your-backups/ )
2019-10-15 10:49:14 -07:00
* [Monitor your backups ](https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/ )
2019-10-31 21:45:47 -07:00
* [Extract a backup ](https://torsion.org/borgmatic/docs/how-to/extract-a-backup/ )
2019-10-23 15:35:37 -07:00
* [Backup your databases ](https://torsion.org/borgmatic/docs/how-to/backup-your-databases/ )
2019-07-05 09:03:08 -07:00
* [Add preparation and cleanup steps to backups ](https://torsion.org/borgmatic/docs/how-to/add-preparation-and-cleanup-steps-to-backups/ )
2019-05-25 21:48:05 -07:00
* [Upgrade borgmatic ](https://torsion.org/borgmatic/docs/how-to/upgrade/ )
* [Develop on borgmatic ](https://torsion.org/borgmatic/docs/how-to/develop-on-borgmatic/ )
2016-06-10 11:53:45 -07:00
2017-07-10 11:06:28 -07:00
2019-02-04 22:12:33 -08:00
## Reference guides
2019-05-25 21:48:05 -07:00
* [borgmatic configuration reference ](https://torsion.org/borgmatic/docs/reference/configuration/ )
* [borgmatic command-line reference ](https://torsion.org/borgmatic/docs/reference/command-line/ )
2019-02-04 22:12:33 -08:00
2019-05-18 20:59:50 -07:00
## 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.)
2019-05-29 15:35:04 -07:00
<ul>
<li class="referral"><a href="https://www.rsync.net/cgi-bin/borg.cgi?campaign=borg&adgroup=borgmatic">rsync.net</a>: Cloud Storage provider with full support for borg and any other SSH/SFTP tool</li>
<li class="referral"><a href="https://www.borgbase.com/?utm_source=borgmatic">BorgBase</a>: Borg hosting service with support for monitoring, 2FA, and append-only repos</li>
</ul>
2019-05-18 20:59:50 -07:00
2018-06-17 14:55:57 -07:00
## Support and contributing
2014-11-17 21:57:44 -08:00
2018-06-17 14:55:57 -07: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.
2019-05-19 15:01:03 -07:00
If you'd like to chat with borgmatic developers or users, head on over to the
`#borgmatic` IRC channel on Freenode, either via <a
2019-05-19 15:04:01 -07:00
href="https://webchat.freenode.net/?channels=borgmatic">web chat</a> or a
native <a href="irc://chat.freenode.net:6697">IRC client</a>.
2019-05-19 15:01:03 -07:00
2018-06-17 14:55:57 -07:00
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-03 22:20:59 -08:00
Also, please check out the [borgmatic development
2019-05-25 21:48:05 -07:00
how-to](https://torsion.org/borgmatic/docs/how-to/develop-on-borgmatic/) for
info on cloning source code, running tests, etc.