Documentation updates based on the new YAML configuration.
This commit is contained in:
parent
5ff016238e
commit
ff28be7724
6 changed files with 51 additions and 126 deletions
54
README.md
54
README.md
|
@ -24,6 +24,10 @@ location:
|
||||||
# Path to local or remote repository.
|
# Path to local or remote repository.
|
||||||
repository: user@backupserver:sourcehostname.borg
|
repository: user@backupserver:sourcehostname.borg
|
||||||
|
|
||||||
|
# Any paths matching these patterns are excluded from backups.
|
||||||
|
exclude_patterns:
|
||||||
|
- /home/*/.cache
|
||||||
|
|
||||||
retention:
|
retention:
|
||||||
# Retention policy for how many backups to keep in each category.
|
# Retention policy for how many backups to keep in each category.
|
||||||
keep_daily: 7
|
keep_daily: 7
|
||||||
|
@ -37,16 +41,13 @@ consistency:
|
||||||
- archives
|
- archives
|
||||||
```
|
```
|
||||||
|
|
||||||
Additionally, exclude patterns can be specified in a separate excludes config
|
|
||||||
file, one pattern per line.
|
|
||||||
|
|
||||||
borgmatic is hosted at <https://torsion.org/borgmatic> with [source code
|
borgmatic is hosted at <https://torsion.org/borgmatic> with [source code
|
||||||
available](https://torsion.org/hg/borgmatic). It's also mirrored on
|
available](https://torsion.org/hg/borgmatic). It's also mirrored on
|
||||||
[GitHub](https://github.com/witten/borgmatic) and
|
[GitHub](https://github.com/witten/borgmatic) and
|
||||||
[BitBucket](https://bitbucket.org/dhelfman/borgmatic) for convenience.
|
[BitBucket](https://bitbucket.org/dhelfman/borgmatic) for convenience.
|
||||||
|
|
||||||
|
|
||||||
## Setup
|
## Installation
|
||||||
|
|
||||||
To get up and running, follow the [Borg Quick
|
To get up and running, follow the [Borg Quick
|
||||||
Start](https://borgbackup.readthedocs.org/en/latest/quickstart.html) to create
|
Start](https://borgbackup.readthedocs.org/en/latest/quickstart.html) to create
|
||||||
|
@ -66,19 +67,45 @@ To install borgmatic, run the following command to download and install it:
|
||||||
Make sure you're using Python 3, as borgmatic does not support Python 2. (You
|
Make sure you're using Python 3, as borgmatic does not support Python 2. (You
|
||||||
may have to use "pip3" instead of "pip".)
|
may have to use "pip3" instead of "pip".)
|
||||||
|
|
||||||
Then, download a [sample config
|
Then, generate a sample configuration file:
|
||||||
file](https://torsion.org/hg/borgmatic/raw-file/tip/sample/config.yaml) and a
|
|
||||||
[sample excludes
|
|
||||||
file](https://torsion.org/hg/borgmatic/raw-file/tip/sample/excludes). From the
|
|
||||||
directory where you downloaded them:
|
|
||||||
|
|
||||||
sudo mkdir /etc/borgmatic/
|
sudo generate-borgmatic-config
|
||||||
sudo mv config.yaml excludes /etc/borgmatic/
|
|
||||||
|
|
||||||
Lastly, modify the /etc files with your desired configuration.
|
This generates a sample configuration file at /etc/borgmatic/config.yaml (by
|
||||||
|
default). You should edit the file to suit your needs, as the values are just
|
||||||
|
representative. All fields are optional except where indicated, so feel free
|
||||||
|
to remove anything you don't need.
|
||||||
|
|
||||||
|
|
||||||
## Upgrading from atticmatic
|
## Upgrading
|
||||||
|
|
||||||
|
In general, all you should need to do to upgrade borgmatic is run the
|
||||||
|
following:
|
||||||
|
|
||||||
|
sudo pip install --upgrade borgmatic
|
||||||
|
|
||||||
|
However, see below about special cases.
|
||||||
|
|
||||||
|
### Upgrading from borgmatic 1.0.x
|
||||||
|
|
||||||
|
borgmatic changed its configuration file format in version 1.1.0 from
|
||||||
|
INI-style to YAML. This better supports validation, and has a more natural way
|
||||||
|
to express lists of values. To upgrade your existing configuration, first
|
||||||
|
upgrade to the new version of borgmatic:
|
||||||
|
|
||||||
|
sudo pip install --upgrade borgmatic
|
||||||
|
|
||||||
|
Then, run:
|
||||||
|
|
||||||
|
sudo upgrade-borgmatic-configuration
|
||||||
|
|
||||||
|
That will generate a new YAML configuration file at /etc/borgmatic/config.yaml
|
||||||
|
(by default) using the values from both your existing configuration and
|
||||||
|
excludes files. The new version of borgmatic will consume the YAML
|
||||||
|
configuration file instead of the old one.
|
||||||
|
|
||||||
|
|
||||||
|
### Upgrading from atticmatic
|
||||||
|
|
||||||
You can ignore this section if you're not an atticmatic user (the former name
|
You can ignore this section if you're not an atticmatic user (the former name
|
||||||
of borgmatic).
|
of borgmatic).
|
||||||
|
@ -98,6 +125,7 @@ from atticmatic to borgmatic. Simply run the following commands:
|
||||||
That's it! borgmatic will continue using your /etc/borgmatic configuration
|
That's it! borgmatic will continue using your /etc/borgmatic configuration
|
||||||
files.
|
files.
|
||||||
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
You can run borgmatic and start a backup simply by invoking it without
|
You can run borgmatic and start a backup simply by invoking it without
|
||||||
|
|
|
@ -34,6 +34,11 @@ def main(): # pragma: no cover
|
||||||
args = parse_arguments(*sys.argv[1:])
|
args = parse_arguments(*sys.argv[1:])
|
||||||
|
|
||||||
generate.generate_sample_configuration(args.destination_filename, validate.schema_filename())
|
generate.generate_sample_configuration(args.destination_filename, validate.schema_filename())
|
||||||
|
|
||||||
|
print('Generated a sample configuration file at {}.'.format(args.destination_filename))
|
||||||
|
print()
|
||||||
|
print('Please edit the file to suit your needs. The values are just representative.')
|
||||||
|
print('All fields are optional except where indicated.')
|
||||||
except (ValueError, OSError) as error:
|
except (ValueError, OSError) as error:
|
||||||
print(error, file=sys.stderr)
|
print(error, file=sys.stderr)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
|
@ -12,7 +12,7 @@ map:
|
||||||
required: True
|
required: True
|
||||||
seq:
|
seq:
|
||||||
- type: scalar
|
- type: scalar
|
||||||
desc: List of source directories to backup. Globs are expanded.
|
desc: List of source directories to backup (required). Globs are expanded.
|
||||||
example:
|
example:
|
||||||
- /home
|
- /home
|
||||||
- /etc
|
- /etc
|
||||||
|
@ -28,16 +28,15 @@ map:
|
||||||
repository:
|
repository:
|
||||||
required: True
|
required: True
|
||||||
type: scalar
|
type: scalar
|
||||||
desc: Path to local or remote repository.
|
desc: Path to local or remote repository (required).
|
||||||
example: user@backupserver:sourcehostname.borg
|
example: user@backupserver:sourcehostname.borg
|
||||||
exclude_patterns:
|
exclude_patterns:
|
||||||
seq:
|
seq:
|
||||||
- type: scalar
|
- type: scalar
|
||||||
desc: |
|
desc: |
|
||||||
Exclude patterns. Any paths matching these patterns are excluded from backups.
|
Any paths matching these patterns are excluded from backups. Globs are expanded.
|
||||||
Globs are expanded. See
|
See https://borgbackup.readthedocs.io/en/stable/usage.html#borg-help-patterns
|
||||||
https://borgbackup.readthedocs.io/en/stable/usage.html#borg-help-patterns for
|
for details.
|
||||||
details.
|
|
||||||
example:
|
example:
|
||||||
- '*.pyc'
|
- '*.pyc'
|
||||||
- /home/*/.cache
|
- /home/*/.cache
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
[location]
|
|
||||||
# Space-separated list of source directories to backup.
|
|
||||||
# Globs are expanded.
|
|
||||||
source_directories: /home /etc /var/log/syslog*
|
|
||||||
|
|
||||||
# Stay in same file system (do not cross mount points).
|
|
||||||
#one_file_system: True
|
|
||||||
|
|
||||||
# Alternate Borg remote executable (defaults to "borg"):
|
|
||||||
#remote_path: borg1
|
|
||||||
|
|
||||||
# Path to local or remote repository.
|
|
||||||
repository: user@backupserver:sourcehostname.borg
|
|
||||||
|
|
||||||
[storage]
|
|
||||||
# Passphrase to unlock the encryption key with. Only use on repositories that
|
|
||||||
# were initialized with passphrase/repokey encryption.
|
|
||||||
#encryption_passphrase: foo
|
|
||||||
|
|
||||||
# Type of compression to use when creating archives. See
|
|
||||||
# https://borgbackup.readthedocs.org/en/stable/usage.html#borg-create
|
|
||||||
# for details. Defaults to no compression.
|
|
||||||
#compression: lz4
|
|
||||||
|
|
||||||
# Umask to be used for borg create.
|
|
||||||
#umask: 0077
|
|
||||||
|
|
||||||
[retention]
|
|
||||||
# Retention policy for how many backups to keep in each category. See
|
|
||||||
# https://borgbackup.readthedocs.org/en/stable/usage.html#borg-prune for details.
|
|
||||||
#keep_within: 3H
|
|
||||||
#keep_hourly: 24
|
|
||||||
keep_daily: 7
|
|
||||||
keep_weekly: 4
|
|
||||||
keep_monthly: 6
|
|
||||||
keep_yearly: 1
|
|
||||||
|
|
||||||
#prefix: sourcehostname
|
|
||||||
|
|
||||||
[consistency]
|
|
||||||
# Space-separated list of consistency checks to run: "repository", "archives",
|
|
||||||
# or both. Defaults to both. Set to "disabled" to disable all consistency
|
|
||||||
# checks. See https://borgbackup.readthedocs.org/en/stable/usage.html#borg-check
|
|
||||||
# for details.
|
|
||||||
checks: repository archives
|
|
||||||
|
|
||||||
# Restrict the number of checked archives to the last n.
|
|
||||||
#check_last: 3
|
|
|
@ -1,56 +0,0 @@
|
||||||
location:
|
|
||||||
# List of source directories to backup. Globs are expanded.
|
|
||||||
source_directories:
|
|
||||||
- /home
|
|
||||||
- /etc
|
|
||||||
- /var/log/syslog*
|
|
||||||
|
|
||||||
# Stay in same file system (do not cross mount points).
|
|
||||||
#one_file_system: yes
|
|
||||||
|
|
||||||
# Alternate Borg remote executable (defaults to "borg"):
|
|
||||||
#remote_path: borg1
|
|
||||||
|
|
||||||
# Path to local or remote repository.
|
|
||||||
repository: user@backupserver:sourcehostname.borg
|
|
||||||
|
|
||||||
#storage:
|
|
||||||
# Passphrase to unlock the encryption key with. Only use on repositories
|
|
||||||
# that were initialized with passphrase/repokey encryption. Quote the value
|
|
||||||
# if it contains punctuation so it parses correctly. And backslash any
|
|
||||||
# quote or backslash literals as well.
|
|
||||||
#encryption_passphrase: "foo"
|
|
||||||
|
|
||||||
# Type of compression to use when creating archives. See
|
|
||||||
# https://borgbackup.readthedocs.org/en/stable/usage.html#borg-create
|
|
||||||
# for details. Defaults to no compression.
|
|
||||||
#compression: lz4
|
|
||||||
|
|
||||||
# Umask to be used for borg create.
|
|
||||||
#umask: 0077
|
|
||||||
|
|
||||||
retention:
|
|
||||||
# Retention policy for how many backups to keep in each category. See
|
|
||||||
# https://borgbackup.readthedocs.org/en/stable/usage.html#borg-prune for
|
|
||||||
# details.
|
|
||||||
#keep_within: 3H
|
|
||||||
#keep_hourly: 24
|
|
||||||
keep_daily: 7
|
|
||||||
keep_weekly: 4
|
|
||||||
keep_monthly: 6
|
|
||||||
keep_yearly: 1
|
|
||||||
|
|
||||||
# When pruning, only consider archive names starting with this prefix.
|
|
||||||
#prefix: sourcehostname
|
|
||||||
|
|
||||||
consistency:
|
|
||||||
# List of consistency checks to run: "repository", "archives", or both.
|
|
||||||
# Defaults to both. Set to "disabled" to disable all consistency checks.
|
|
||||||
# See https://borgbackup.readthedocs.org/en/stable/usage.html#borg-check
|
|
||||||
# for details.
|
|
||||||
checks:
|
|
||||||
- repository
|
|
||||||
- archives
|
|
||||||
|
|
||||||
# Restrict the number of checked archives to the last n.
|
|
||||||
#check_last: 3
|
|
|
@ -1,3 +0,0 @@
|
||||||
*.pyc
|
|
||||||
/home/*/.cache
|
|
||||||
/etc/ssl
|
|
Loading…
Reference in a new issue