|
@@ -3,9 +3,10 @@ version: 1
|
|
|
map:
|
|
|
location:
|
|
|
desc: |
|
|
|
- Where to look for files to backup, and where to store those backups. See
|
|
|
- https://borgbackup.readthedocs.io/en/stable/quickstart.html and
|
|
|
- https://borgbackup.readthedocs.io/en/stable/usage.html#borg-create for details.
|
|
|
+ Where to look for files to backup, and where to store those backups.
|
|
|
+ See https://borgbackup.readthedocs.io/en/stable/quickstart.html and
|
|
|
+ https://borgbackup.readthedocs.io/en/stable/usage/create.html
|
|
|
+ for details.
|
|
|
required: true
|
|
|
map:
|
|
|
source_directories:
|
|
@@ -13,7 +14,8 @@ map:
|
|
|
seq:
|
|
|
- type: str
|
|
|
desc: |
|
|
|
- List of source directories to backup (required). Globs and tildes are expanded.
|
|
|
+ List of source directories to backup (required). Globs and
|
|
|
+ tildes are expanded.
|
|
|
example:
|
|
|
- /home
|
|
|
- /etc
|
|
@@ -23,21 +25,25 @@ map:
|
|
|
seq:
|
|
|
- type: str
|
|
|
desc: |
|
|
|
- Paths to local or remote repositories (required). Tildes are expanded. Multiple
|
|
|
- repositories are backed up to in sequence. See ssh_command for SSH options like
|
|
|
- identity file or port.
|
|
|
+ Paths to local or remote repositories (required). Tildes are
|
|
|
+ expanded. Multiple repositories are backed up to in
|
|
|
+ sequence. See ssh_command for SSH options like identity file
|
|
|
+ or port.
|
|
|
example:
|
|
|
- user@backupserver:sourcehostname.borg
|
|
|
one_file_system:
|
|
|
type: bool
|
|
|
desc: |
|
|
|
- Stay in same file system (do not cross mount points). Defaults to false. But when
|
|
|
- a database hook is used, the setting here is ignored and one_file_system is
|
|
|
- considered true.
|
|
|
+ Stay in same file system (do not cross mount points).
|
|
|
+ Defaults to false. But when a database hook is used, the
|
|
|
+ setting here is ignored and one_file_system is considered
|
|
|
+ true.
|
|
|
example: true
|
|
|
numeric_owner:
|
|
|
type: bool
|
|
|
- desc: Only store/extract numeric user and group identifiers. Defaults to false.
|
|
|
+ desc: |
|
|
|
+ Only store/extract numeric user and group identifiers.
|
|
|
+ Defaults to false.
|
|
|
example: true
|
|
|
atime:
|
|
|
type: bool
|
|
@@ -49,27 +55,32 @@ map:
|
|
|
example: false
|
|
|
birthtime:
|
|
|
type: bool
|
|
|
- desc: Store birthtime (creation date) into archive. Defaults to true.
|
|
|
+ desc: |
|
|
|
+ Store birthtime (creation date) into archive. Defaults to
|
|
|
+ true.
|
|
|
example: false
|
|
|
read_special:
|
|
|
type: bool
|
|
|
desc: |
|
|
|
- Use Borg's --read-special flag to allow backup of block and other special
|
|
|
- devices. Use with caution, as it will lead to problems if used when
|
|
|
- backing up special devices such as /dev/zero. Defaults to false. But when a
|
|
|
- database hook is used, the setting here is ignored and read_special is
|
|
|
+ Use Borg's --read-special flag to allow backup of block and
|
|
|
+ other special devices. Use with caution, as it will lead to
|
|
|
+ problems if used when backing up special devices such as
|
|
|
+ /dev/zero. Defaults to false. But when a database hook is
|
|
|
+ used, the setting here is ignored and read_special is
|
|
|
considered true.
|
|
|
example: false
|
|
|
bsd_flags:
|
|
|
type: bool
|
|
|
- desc: Record bsdflags (e.g. NODUMP, IMMUTABLE) in archive. Defaults to true.
|
|
|
+ desc: |
|
|
|
+ Record bsdflags (e.g. NODUMP, IMMUTABLE) in archive.
|
|
|
+ Defaults to true.
|
|
|
example: true
|
|
|
files_cache:
|
|
|
type: str
|
|
|
desc: |
|
|
|
Mode in which to operate the files cache. See
|
|
|
- https://borgbackup.readthedocs.io/en/stable/usage/create.html#description for
|
|
|
- details. Defaults to "ctime,size,inode".
|
|
|
+ http://borgbackup.readthedocs.io/en/stable/usage/create.html
|
|
|
+ for details. Defaults to "ctime,size,inode".
|
|
|
example: ctime,size,inode
|
|
|
local_path:
|
|
|
type: str
|
|
@@ -83,9 +94,10 @@ map:
|
|
|
seq:
|
|
|
- type: str
|
|
|
desc: |
|
|
|
- Any paths matching these patterns are included/excluded from backups. Globs are
|
|
|
- expanded. (Tildes are not.) Note that Borg considers this option experimental.
|
|
|
- See the output of "borg help patterns" for more details. Quote any value if it
|
|
|
+ Any paths matching these patterns are included/excluded from
|
|
|
+ backups. Globs are expanded. (Tildes are not.) Note that
|
|
|
+ Borg considers this option experimental. See the output of
|
|
|
+ "borg help patterns" for more details. Quote any value if it
|
|
|
contains leading punctuation, so it parses correctly.
|
|
|
example:
|
|
|
- 'R /'
|
|
@@ -96,17 +108,19 @@ map:
|
|
|
seq:
|
|
|
- type: str
|
|
|
desc: |
|
|
|
- Read include/exclude patterns from one or more separate named files, one pattern
|
|
|
- per line. Note that Borg considers this option experimental. See the output of
|
|
|
- "borg help patterns" for more details.
|
|
|
+ Read include/exclude patterns from one or more separate
|
|
|
+ named files, one pattern per line. Note that Borg considers
|
|
|
+ this option experimental. See the output of "borg help
|
|
|
+ patterns" for more details.
|
|
|
example:
|
|
|
- /etc/borgmatic/patterns
|
|
|
exclude_patterns:
|
|
|
seq:
|
|
|
- type: str
|
|
|
desc: |
|
|
|
- Any paths matching these patterns are excluded from backups. Globs and tildes
|
|
|
- are expanded. See the output of "borg help patterns" for more details.
|
|
|
+ Any paths matching these patterns are excluded from backups.
|
|
|
+ Globs and tildes are expanded. See the output of "borg help
|
|
|
+ patterns" for more details.
|
|
|
example:
|
|
|
- '*.pyc'
|
|
|
- ~/*/.cache
|
|
@@ -115,29 +129,32 @@ map:
|
|
|
seq:
|
|
|
- type: str
|
|
|
desc: |
|
|
|
- Read exclude patterns from one or more separate named files, one pattern per
|
|
|
- line. See the output of "borg help patterns" for more details.
|
|
|
+ Read exclude patterns from one or more separate named files,
|
|
|
+ one pattern per line. See the output of "borg help patterns"
|
|
|
+ for more details.
|
|
|
example:
|
|
|
- /etc/borgmatic/excludes
|
|
|
exclude_caches:
|
|
|
type: bool
|
|
|
desc: |
|
|
|
Exclude directories that contain a CACHEDIR.TAG file. See
|
|
|
- http://www.brynosaurus.com/cachedir/spec.html for details. Defaults to false.
|
|
|
+ http://www.brynosaurus.com/cachedir/spec.html for details.
|
|
|
+ Defaults to false.
|
|
|
example: true
|
|
|
exclude_if_present:
|
|
|
seq:
|
|
|
- type: str
|
|
|
desc: |
|
|
|
- Exclude directories that contain a file with the given filenames. Defaults to not
|
|
|
- set.
|
|
|
+ Exclude directories that contain a file with the given
|
|
|
+ filenames. Defaults to not set.
|
|
|
example:
|
|
|
- .nobackup
|
|
|
keep_exclude_tags:
|
|
|
type: bool
|
|
|
desc: |
|
|
|
- If true, the exclude_if_present filename is included in backups. Defaults to
|
|
|
- false, meaning that the exclude_if_present filename is omitted from backups.
|
|
|
+ If true, the exclude_if_present filename is included in
|
|
|
+ backups. Defaults to false, meaning that the
|
|
|
+ exclude_if_present filename is omitted from backups.
|
|
|
example: true
|
|
|
exclude_nodump:
|
|
|
type: bool
|
|
@@ -147,90 +164,103 @@ map:
|
|
|
borgmatic_source_directory:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Path for additional source files used for temporary internal state like
|
|
|
- borgmatic database dumps. Note that changing this path prevents "borgmatic
|
|
|
- restore" from finding any database dumps created before the change. Defaults
|
|
|
- to ~/.borgmatic
|
|
|
+ Path for additional source files used for temporary internal
|
|
|
+ state like borgmatic database dumps. Note that changing this
|
|
|
+ path prevents "borgmatic restore" from finding any database
|
|
|
+ dumps created before the change. Defaults to ~/.borgmatic
|
|
|
example: /tmp/borgmatic
|
|
|
storage:
|
|
|
desc: |
|
|
|
Repository storage options. See
|
|
|
- https://borgbackup.readthedocs.io/en/stable/usage.html#borg-create and
|
|
|
- https://borgbackup.readthedocs.io/en/stable/usage/general.html#environment-variables for
|
|
|
+ https://borgbackup.readthedocs.io/en/stable/usage/create.html and
|
|
|
+ https://borgbackup.readthedocs.io/en/stable/usage/general.html for
|
|
|
details.
|
|
|
map:
|
|
|
encryption_passcommand:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- The standard output of this command is used to unlock the encryption key. Only
|
|
|
- use on repositories that were initialized with passcommand/repokey encryption.
|
|
|
- Note that if both encryption_passcommand and encryption_passphrase are set,
|
|
|
- then encryption_passphrase takes precedence. Defaults to not set.
|
|
|
+ The standard output of this command is used to unlock the
|
|
|
+ encryption key. Only use on repositories that were
|
|
|
+ initialized with passcommand/repokey encryption. Note that
|
|
|
+ if both encryption_passcommand and encryption_passphrase are
|
|
|
+ set, then encryption_passphrase takes precedence. Defaults
|
|
|
+ to not set.
|
|
|
example: "secret-tool lookup borg-repository repo-name"
|
|
|
encryption_passphrase:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- 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
|
|
|
+ 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. Defaults to not set.
|
|
|
example: "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"
|
|
|
checkpoint_interval:
|
|
|
type: int
|
|
|
desc: |
|
|
|
- Number of seconds between each checkpoint during a long-running backup. See
|
|
|
- https://borgbackup.readthedocs.io/en/stable/faq.html#if-a-backup-stops-mid-way-does-the-already-backed-up-data-stay-there
|
|
|
- for details. Defaults to checkpoints every 1800 seconds (30 minutes).
|
|
|
+ Number of seconds between each checkpoint during a
|
|
|
+ long-running backup. See
|
|
|
+ https://borgbackup.readthedocs.io/en/stable/faq.html
|
|
|
+ for details. Defaults to checkpoints every 1800 seconds (30
|
|
|
+ minutes).
|
|
|
example: 1800
|
|
|
chunker_params:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Specify the parameters passed to then chunker (CHUNK_MIN_EXP, CHUNK_MAX_EXP,
|
|
|
- HASH_MASK_BITS, HASH_WINDOW_SIZE). See https://borgbackup.readthedocs.io/en/stable/internals.html
|
|
|
+ Specify the parameters passed to then chunker
|
|
|
+ (CHUNK_MIN_EXP, CHUNK_MAX_EXP, HASH_MASK_BITS,
|
|
|
+ HASH_WINDOW_SIZE). See
|
|
|
+ https://borgbackup.readthedocs.io/en/stable/internals.html
|
|
|
for details. Defaults to "19,23,21,4095".
|
|
|
example: 19,23,21,4095
|
|
|
compression:
|
|
|
type: str
|
|
|
desc: |
|
|
|
Type of compression to use when creating archives. See
|
|
|
- https://borgbackup.readthedocs.org/en/stable/usage.html#borg-create for details.
|
|
|
- Defaults to "lz4".
|
|
|
+ http://borgbackup.readthedocs.io/en/stable/usage/create.html
|
|
|
+ for details. Defaults to "lz4".
|
|
|
example: lz4
|
|
|
remote_rate_limit:
|
|
|
type: int
|
|
|
- desc: Remote network upload rate limit in kiBytes/second. Defaults to unlimited.
|
|
|
+ desc: |
|
|
|
+ Remote network upload rate limit in kiBytes/second. Defaults
|
|
|
+ to unlimited.
|
|
|
example: 100
|
|
|
ssh_command:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Command to use instead of "ssh". This can be used to specify ssh options.
|
|
|
- Defaults to not set.
|
|
|
+ Command to use instead of "ssh". This can be used to specify
|
|
|
+ ssh options. Defaults to not set.
|
|
|
example: ssh -i /path/to/private/key
|
|
|
borg_base_directory:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Base path used for various Borg directories. Defaults to $HOME, ~$USER, or ~.
|
|
|
- See https://borgbackup.readthedocs.io/en/stable/usage/general.html#environment-variables for details.
|
|
|
+ Base path used for various Borg directories. Defaults to
|
|
|
+ $HOME, ~$USER, or ~.
|
|
|
example: /path/to/base
|
|
|
borg_config_directory:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Path for Borg configuration files. Defaults to $borg_base_directory/.config/borg
|
|
|
+ Path for Borg configuration files. Defaults to
|
|
|
+ $borg_base_directory/.config/borg
|
|
|
example: /path/to/base/config
|
|
|
borg_cache_directory:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Path for Borg cache files. Defaults to $borg_base_directory/.cache/borg
|
|
|
+ Path for Borg cache files. Defaults to
|
|
|
+ $borg_base_directory/.cache/borg
|
|
|
example: /path/to/base/cache
|
|
|
borg_security_directory:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Path for Borg security and encryption nonce files. Defaults to $borg_base_directory/.config/borg/security
|
|
|
+ Path for Borg security and encryption nonce files. Defaults
|
|
|
+ to $borg_base_directory/.config/borg/security
|
|
|
example: /path/to/base/config/security
|
|
|
borg_keys_directory:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Path for Borg encryption key files. Defaults to $borg_base_directory/.config/borg/keys
|
|
|
+ Path for Borg encryption key files. Defaults to
|
|
|
+ $borg_base_directory/.config/borg/keys
|
|
|
example: /path/to/base/config/keys
|
|
|
umask:
|
|
|
type: scalar
|
|
@@ -238,58 +268,69 @@ map:
|
|
|
example: 0077
|
|
|
lock_wait:
|
|
|
type: int
|
|
|
- desc: Maximum seconds to wait for acquiring a repository/cache lock. Defaults to 1.
|
|
|
+ desc: |
|
|
|
+ Maximum seconds to wait for acquiring a repository/cache
|
|
|
+ lock. Defaults to 1.
|
|
|
example: 5
|
|
|
archive_name_format:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Name of the archive. Borg placeholders can be used. See the output of
|
|
|
- "borg help placeholders" for details. Defaults to
|
|
|
- "{hostname}-{now:%Y-%m-%dT%H:%M:%S.%f}". If you specify this option, you must
|
|
|
- also specify a prefix in the retention section to avoid accidental pruning of
|
|
|
- archives with a different archive name format. And you should also specify a
|
|
|
+ Name of the archive. Borg placeholders can be used. See the
|
|
|
+ output of "borg help placeholders" for details. Defaults to
|
|
|
+ "{hostname}-{now:%Y-%m-%dT%H:%M:%S.%f}". If you specify this
|
|
|
+ option, you must also specify a prefix in the retention
|
|
|
+ section to avoid accidental pruning of archives with a
|
|
|
+ different archive name format. And you should also specify a
|
|
|
prefix in the consistency section as well.
|
|
|
example: "{hostname}-documents-{now}"
|
|
|
relocated_repo_access_is_ok:
|
|
|
type: bool
|
|
|
- desc: Bypass Borg error about a repository that has been moved. Defaults to false.
|
|
|
+ desc: |
|
|
|
+ Bypass Borg error about a repository that has been moved.
|
|
|
+ Defaults to false.
|
|
|
example: true
|
|
|
unknown_unencrypted_repo_access_is_ok:
|
|
|
type: bool
|
|
|
desc: |
|
|
|
- Bypass Borg error about a previously unknown unencrypted repository. Defaults to
|
|
|
- false.
|
|
|
+ Bypass Borg error about a previously unknown unencrypted
|
|
|
+ repository. Defaults to false.
|
|
|
example: true
|
|
|
extra_borg_options:
|
|
|
map:
|
|
|
init:
|
|
|
type: str
|
|
|
- desc: Extra command-line options to pass to "borg init".
|
|
|
+ desc: |
|
|
|
+ Extra command-line options to pass to "borg init".
|
|
|
example: "--make-parent-dirs"
|
|
|
prune:
|
|
|
type: str
|
|
|
- desc: Extra command-line options to pass to "borg prune".
|
|
|
+ desc: |
|
|
|
+ Extra command-line options to pass to "borg prune".
|
|
|
example: "--save-space"
|
|
|
create:
|
|
|
type: str
|
|
|
- desc: Extra command-line options to pass to "borg create".
|
|
|
+ desc: |
|
|
|
+ Extra command-line options to pass to "borg create".
|
|
|
example: "--no-files-cache"
|
|
|
check:
|
|
|
type: str
|
|
|
- desc: Extra command-line options to pass to "borg check".
|
|
|
+ desc: |
|
|
|
+ Extra command-line options to pass to "borg check".
|
|
|
example: "--save-space"
|
|
|
desc: |
|
|
|
- Additional options to pass directly to particular Borg commands, handy for Borg
|
|
|
- options that borgmatic does not yet support natively. Note that borgmatic does
|
|
|
- not perform any validation on these options. Running borgmatic with
|
|
|
- "--verbosity 2" shows the exact Borg command-line invocation.
|
|
|
+ Additional options to pass directly to particular Borg
|
|
|
+ commands, handy for Borg options that borgmatic does not yet
|
|
|
+ support natively. Note that borgmatic does not perform any
|
|
|
+ validation on these options. Running borgmatic with
|
|
|
+ "--verbosity 2" shows the exact Borg command-line
|
|
|
+ invocation.
|
|
|
retention:
|
|
|
desc: |
|
|
|
Retention policy for how many backups to keep in each category. See
|
|
|
- https://borgbackup.readthedocs.org/en/stable/usage.html#borg-prune for details.
|
|
|
- At least one of the "keep" options is required for pruning to work. See
|
|
|
- https://torsion.org/borgmatic/docs/how-to/deal-with-very-large-backups/
|
|
|
- if you'd like to skip pruning entirely.
|
|
|
+ https://borgbackup.readthedocs.io/en/stable/usage/prune.html for
|
|
|
+ details. At least one of the "keep" options is required for pruning
|
|
|
+ to work. See borgmatic documentation if you'd like to skip pruning
|
|
|
+ entirely.
|
|
|
map:
|
|
|
keep_within:
|
|
|
type: str
|
|
@@ -326,27 +367,37 @@ map:
|
|
|
prefix:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- When pruning, only consider archive names starting with this prefix.
|
|
|
- Borg placeholders can be used. See the output of "borg help placeholders" for
|
|
|
- details. Defaults to "{hostname}-". Use an empty value to disable the default.
|
|
|
+ When pruning, only consider archive names starting with this
|
|
|
+ prefix. Borg placeholders can be used. See the output of
|
|
|
+ "borg help placeholders" for details. Defaults to
|
|
|
+ "{hostname}-". Use an empty value to disable the default.
|
|
|
example: sourcehostname
|
|
|
consistency:
|
|
|
desc: |
|
|
|
Consistency checks to run after backups. See
|
|
|
- https://borgbackup.readthedocs.org/en/stable/usage.html#borg-check and
|
|
|
- https://borgbackup.readthedocs.org/en/stable/usage.html#borg-extract for details.
|
|
|
+ https://borgbackup.readthedocs.io/en/stable/usage/check.html and
|
|
|
+ https://borgbackup.readthedocs.io/en/stable/usage/extract.html for
|
|
|
+ details.
|
|
|
map:
|
|
|
checks:
|
|
|
seq:
|
|
|
- type: str
|
|
|
- enum: ['repository', 'archives', 'data', 'extract', 'disabled']
|
|
|
+ enum: [
|
|
|
+ 'repository',
|
|
|
+ 'archives',
|
|
|
+ 'data',
|
|
|
+ 'extract',
|
|
|
+ 'disabled'
|
|
|
+ ]
|
|
|
unique: true
|
|
|
desc: |
|
|
|
- List of one or more consistency checks to run: "repository", "archives", "data",
|
|
|
- and/or "extract". Defaults to "repository" and "archives". Set to "disabled" to
|
|
|
- disable all consistency checks. "repository" checks the consistency of the
|
|
|
- repository, "archives" checks all of the archives, "data" verifies the integrity
|
|
|
- of the data within the archives, and "extract" does an extraction dry-run of the
|
|
|
+ List of one or more consistency checks to run: "repository",
|
|
|
+ "archives", "data", and/or "extract". Defaults to
|
|
|
+ "repository" and "archives". Set to "disabled" to disable
|
|
|
+ all consistency checks. "repository" checks the consistency
|
|
|
+ of the repository, "archives" checks all of the archives,
|
|
|
+ "data" verifies the integrity of the data within the
|
|
|
+ archives, and "extract" does an extraction dry-run of the
|
|
|
most recent archive. Note that "data" implies "archives".
|
|
|
example:
|
|
|
- repository
|
|
@@ -355,24 +406,29 @@ map:
|
|
|
seq:
|
|
|
- type: str
|
|
|
desc: |
|
|
|
- Paths to a subset of the repositories in the location section on which to run
|
|
|
- consistency checks. Handy in case some of your repositories are very large, and
|
|
|
- so running consistency checks on them would take too long. Defaults to running
|
|
|
- consistency checks on all repositories configured in the location section.
|
|
|
+ Paths to a subset of the repositories in the location
|
|
|
+ section on which to run consistency checks. Handy in case
|
|
|
+ some of your repositories are very large, and so running
|
|
|
+ consistency checks on them would take too long. Defaults to
|
|
|
+ running consistency checks on all repositories configured in
|
|
|
+ the location section.
|
|
|
example:
|
|
|
- user@backupserver:sourcehostname.borg
|
|
|
check_last:
|
|
|
type: int
|
|
|
- desc: Restrict the number of checked archives to the last n. Applies only to the
|
|
|
- "archives" check. Defaults to checking all archives.
|
|
|
+ desc: |
|
|
|
+ Restrict the number of checked archives to the last n.
|
|
|
+ Applies only to the "archives" check. Defaults to checking
|
|
|
+ all archives.
|
|
|
example: 3
|
|
|
prefix:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- When performing the "archives" check, only consider archive names starting with
|
|
|
- this prefix. Borg placeholders can be used. See the output of
|
|
|
- "borg help placeholders" for details. Defaults to "{hostname}-". Use an empty
|
|
|
- value to disable the default.
|
|
|
+ When performing the "archives" check, only consider archive
|
|
|
+ names starting with this prefix. Borg placeholders can be
|
|
|
+ used. See the output of "borg help placeholders" for
|
|
|
+ details. Defaults to "{hostname}-". Use an empty value to
|
|
|
+ disable the default.
|
|
|
example: sourcehostname
|
|
|
output:
|
|
|
desc: |
|
|
@@ -381,72 +437,73 @@ map:
|
|
|
color:
|
|
|
type: bool
|
|
|
desc: |
|
|
|
- Apply color to console output. Can be overridden with --no-color command-line
|
|
|
- flag. Defaults to true.
|
|
|
+ Apply color to console output. Can be overridden with
|
|
|
+ --no-color command-line flag. Defaults to true.
|
|
|
example: false
|
|
|
hooks:
|
|
|
desc: |
|
|
|
- Shell commands, scripts, or integrations to execute at various points during a borgmatic
|
|
|
- run. IMPORTANT: All provided commands and scripts are executed with user permissions of
|
|
|
- borgmatic. Do not forget to set secure permissions on this configuration file (chmod
|
|
|
- 0600) as well as on any script called from a hook (chmod 0700) to prevent potential
|
|
|
- shell injection or privilege escalation.
|
|
|
+ Shell commands, scripts, or integrations to execute at various
|
|
|
+ points during a borgmatic run. IMPORTANT: All provided commands and
|
|
|
+ scripts are executed with user permissions of borgmatic. Do not
|
|
|
+ forget to set secure permissions on this configuration file (chmod
|
|
|
+ 0600) as well as on any script called from a hook (chmod 0700) to
|
|
|
+ prevent potential shell injection or privilege escalation.
|
|
|
map:
|
|
|
before_backup:
|
|
|
seq:
|
|
|
- type: str
|
|
|
desc: |
|
|
|
- List of one or more shell commands or scripts to execute before creating a
|
|
|
- backup, run once per configuration file.
|
|
|
+ List of one or more shell commands or scripts to execute
|
|
|
+ before creating a backup, run once per configuration file.
|
|
|
example:
|
|
|
- echo "Starting a backup."
|
|
|
before_prune:
|
|
|
seq:
|
|
|
- type: str
|
|
|
desc: |
|
|
|
- List of one or more shell commands or scripts to execute before pruning, run
|
|
|
- once per configuration file.
|
|
|
+ List of one or more shell commands or scripts to execute
|
|
|
+ before pruning, run once per configuration file.
|
|
|
example:
|
|
|
- echo "Starting pruning."
|
|
|
before_check:
|
|
|
seq:
|
|
|
- type: str
|
|
|
desc: |
|
|
|
- List of one or more shell commands or scripts to execute before consistency
|
|
|
- checks, run once per configuration file.
|
|
|
+ List of one or more shell commands or scripts to execute
|
|
|
+ before consistency checks, run once per configuration file.
|
|
|
example:
|
|
|
- echo "Starting checks."
|
|
|
after_backup:
|
|
|
seq:
|
|
|
- type: str
|
|
|
desc: |
|
|
|
- List of one or more shell commands or scripts to execute after creating a
|
|
|
- backup, run once per configuration file.
|
|
|
+ List of one or more shell commands or scripts to execute
|
|
|
+ after creating a backup, run once per configuration file.
|
|
|
example:
|
|
|
- echo "Finished a backup."
|
|
|
after_prune:
|
|
|
seq:
|
|
|
- type: str
|
|
|
desc: |
|
|
|
- List of one or more shell commands or scripts to execute after pruning, run once
|
|
|
- per configuration file.
|
|
|
+ List of one or more shell commands or scripts to execute
|
|
|
+ after pruning, run once per configuration file.
|
|
|
example:
|
|
|
- echo "Finished pruning."
|
|
|
after_check:
|
|
|
seq:
|
|
|
- type: str
|
|
|
desc: |
|
|
|
- List of one or more shell commands or scripts to execute after consistency
|
|
|
- checks, run once per configuration file.
|
|
|
+ List of one or more shell commands or scripts to execute
|
|
|
+ after consistency checks, run once per configuration file.
|
|
|
example:
|
|
|
- echo "Finished checks."
|
|
|
on_error:
|
|
|
seq:
|
|
|
- type: str
|
|
|
desc: |
|
|
|
- List of one or more shell commands or scripts to execute when an exception
|
|
|
- occurs during a "prune", "create", or "check" action or an associated
|
|
|
- before/after hook.
|
|
|
+ List of one or more shell commands or scripts to execute
|
|
|
+ when an exception occurs during a "prune", "create", or
|
|
|
+ "check" action or an associated before/after hook.
|
|
|
example:
|
|
|
- echo "Error during prune/create/check."
|
|
|
postgresql_databases:
|
|
@@ -456,16 +513,17 @@ map:
|
|
|
required: true
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Database name (required if using this hook). Or "all" to dump all
|
|
|
- databases on the host. Note that using this database hook implicitly
|
|
|
- enables both read_special and one_file_system (see above) to support
|
|
|
- dump and restore streaming.
|
|
|
+ Database name (required if using this hook). Or
|
|
|
+ "all" to dump all databases on the host. Note
|
|
|
+ that using this database hook implicitly enables
|
|
|
+ both read_special and one_file_system (see
|
|
|
+ above) to support dump and restore streaming.
|
|
|
example: users
|
|
|
hostname:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Database hostname to connect to. Defaults to connecting via local
|
|
|
- Unix socket.
|
|
|
+ Database hostname to connect to. Defaults to
|
|
|
+ connecting via local Unix socket.
|
|
|
example: database.example.org
|
|
|
port:
|
|
|
type: int
|
|
@@ -474,39 +532,46 @@ map:
|
|
|
username:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Username with which to connect to the database. Defaults to the
|
|
|
- username of the current user. You probably want to specify the
|
|
|
- "postgres" superuser here when the database name is "all".
|
|
|
+ Username with which to connect to the database.
|
|
|
+ Defaults to the username of the current user.
|
|
|
+ You probably want to specify the "postgres"
|
|
|
+ superuser here when the database name is "all".
|
|
|
example: dbuser
|
|
|
password:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Password with which to connect to the database. Omitting a password
|
|
|
- will only work if PostgreSQL is configured to trust the configured
|
|
|
- username without a password, or you create a ~/.pgpass file.
|
|
|
+ Password with which to connect to the database.
|
|
|
+ Omitting a password will only work if PostgreSQL
|
|
|
+ is configured to trust the configured username
|
|
|
+ without a password, or you create a ~/.pgpass
|
|
|
+ file.
|
|
|
example: trustsome1
|
|
|
format:
|
|
|
type: str
|
|
|
enum: ['plain', 'custom', 'directory', 'tar']
|
|
|
desc: |
|
|
|
- Database dump output format. One of "plain", "custom", "directory",
|
|
|
- or "tar". Defaults to "custom" (unlike raw pg_dump). See
|
|
|
- https://www.postgresql.org/docs/current/app-pgdump.html for details.
|
|
|
- Note that format is ignored when the database name is "all".
|
|
|
+ Database dump output format. One of "plain",
|
|
|
+ "custom", "directory", or "tar". Defaults to
|
|
|
+ "custom" (unlike raw pg_dump). See pg_dump
|
|
|
+ documentation for details. Note that format is
|
|
|
+ ignored when the database name is "all".
|
|
|
example: directory
|
|
|
options:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Additional pg_dump/pg_dumpall options to pass directly to the dump
|
|
|
- command, without performing any validation on them. See
|
|
|
- https://www.postgresql.org/docs/current/app-pgdump.html for details.
|
|
|
+ Additional pg_dump/pg_dumpall options to pass
|
|
|
+ directly to the dump command, without performing
|
|
|
+ any validation on them. See pg_dump
|
|
|
+ documentation for details.
|
|
|
example: --role=someone
|
|
|
desc: |
|
|
|
- List of one or more PostgreSQL databases to dump before creating a backup,
|
|
|
- run once per configuration file. The database dumps are added to your source
|
|
|
- directories at runtime, backed up, and then removed afterwards. Requires
|
|
|
+ List of one or more PostgreSQL databases to dump before
|
|
|
+ creating a backup, run once per configuration file. The
|
|
|
+ database dumps are added to your source directories at
|
|
|
+ runtime, backed up, and removed afterwards. Requires
|
|
|
pg_dump/pg_dumpall/pg_restore commands. See
|
|
|
- https://www.postgresql.org/docs/current/app-pgdump.html for details.
|
|
|
+ https://www.postgresql.org/docs/current/app-pgdump.html for
|
|
|
+ details.
|
|
|
mysql_databases:
|
|
|
seq:
|
|
|
- map:
|
|
@@ -514,16 +579,17 @@ map:
|
|
|
required: true
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Database name (required if using this hook). Or "all" to dump all
|
|
|
- databases on the host. Note that using this database hook implicitly
|
|
|
- enables both read_special and one_file_system (see above) to support
|
|
|
- dump and restore streaming.
|
|
|
+ Database name (required if using this hook). Or
|
|
|
+ "all" to dump all databases on the host. Note
|
|
|
+ that using this database hook implicitly enables
|
|
|
+ both read_special and one_file_system (see
|
|
|
+ above) to support dump and restore streaming.
|
|
|
example: users
|
|
|
hostname:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Database hostname to connect to. Defaults to connecting via local
|
|
|
- Unix socket.
|
|
|
+ Database hostname to connect to. Defaults to
|
|
|
+ connecting via local Unix socket.
|
|
|
example: database.example.org
|
|
|
port:
|
|
|
type: int
|
|
@@ -532,87 +598,92 @@ map:
|
|
|
username:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Username with which to connect to the database. Defaults to the
|
|
|
- username of the current user.
|
|
|
+ Username with which to connect to the database.
|
|
|
+ Defaults to the username of the current user.
|
|
|
example: dbuser
|
|
|
password:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Password with which to connect to the database. Omitting a password
|
|
|
- will only work if MySQL is configured to trust the configured
|
|
|
- username without a password.
|
|
|
+ Password with which to connect to the database.
|
|
|
+ Omitting a password will only work if MySQL is
|
|
|
+ configured to trust the configured username
|
|
|
+ without a password.
|
|
|
example: trustsome1
|
|
|
options:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Additional mysqldump options to pass directly to the dump command,
|
|
|
- without performing any validation on them. See
|
|
|
- https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html or
|
|
|
- https://mariadb.com/kb/en/library/mysqldump/ for details.
|
|
|
+ Additional mysqldump options to pass directly to
|
|
|
+ the dump command, without performing any
|
|
|
+ validation on them. See mysqldump documentation
|
|
|
+ for details.
|
|
|
example: --skip-comments
|
|
|
desc: |
|
|
|
- List of one or more MySQL/MariaDB databases to dump before creating a backup,
|
|
|
- run once per configuration file. The database dumps are added to your source
|
|
|
- directories at runtime, backed up, and then removed afterwards. Requires
|
|
|
+ List of one or more MySQL/MariaDB databases to dump before
|
|
|
+ creating a backup, run once per configuration file. The
|
|
|
+ database dumps are added to your source directories at
|
|
|
+ runtime, backed up, and removed afterwards. Requires
|
|
|
mysqldump/mysql commands (from either MySQL or MariaDB). See
|
|
|
https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html or
|
|
|
https://mariadb.com/kb/en/library/mysqldump/ for details.
|
|
|
healthchecks:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Healthchecks ping URL or UUID to notify when a backup begins, ends, or errors.
|
|
|
- Create an account at https://healthchecks.io if you'd like to use this service.
|
|
|
- See
|
|
|
- https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#healthchecks-hook
|
|
|
- for details.
|
|
|
+ Healthchecks ping URL or UUID to notify when a backup
|
|
|
+ begins, ends, or errors. Create an account at
|
|
|
+ https://healthchecks.io if you'd like to use this service.
|
|
|
+ See borgmatic monitoring documentation for details.
|
|
|
example:
|
|
|
https://hc-ping.com/your-uuid-here
|
|
|
cronitor:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Cronitor ping URL to notify when a backup begins, ends, or errors. Create an
|
|
|
- account at https://cronitor.io if you'd like to use this service. See
|
|
|
- https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#cronitor-hook
|
|
|
- for details.
|
|
|
+ Cronitor ping URL to notify when a backup begins, ends, or
|
|
|
+ errors. Create an account at https://cronitor.io if you'd
|
|
|
+ like to use this service. See borgmatic monitoring
|
|
|
+ documentation for details.
|
|
|
example:
|
|
|
https://cronitor.link/d3x0c1
|
|
|
pagerduty:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- PagerDuty integration key used to notify PagerDuty when a backup errors. Create
|
|
|
- an account at https://www.pagerduty.com/ if you'd like to use this service. See
|
|
|
- https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#pagerduty-hook
|
|
|
- for details.
|
|
|
+ PagerDuty integration key used to notify PagerDuty when a
|
|
|
+ backup errors. Create an account at
|
|
|
+ https://www.pagerduty.com/ if you'd like to use this
|
|
|
+ service. See borgmatic monitoring documentation for details.
|
|
|
example:
|
|
|
a177cad45bd374409f78906a810a3074
|
|
|
cronhub:
|
|
|
type: str
|
|
|
desc: |
|
|
|
- Cronhub ping URL to notify when a backup begins, ends, or errors. Create an
|
|
|
- account at https://cronhub.io if you'd like to use this service. See
|
|
|
- https://torsion.org/borgmatic/docs/how-to/monitor-your-backups/#cronhub-hook for
|
|
|
- details.
|
|
|
+ Cronhub ping URL to notify when a backup begins, ends, or
|
|
|
+ errors. Create an account at https://cronhub.io if you'd
|
|
|
+ like to use this service. See borgmatic monitoring
|
|
|
+ documentation for details.
|
|
|
example:
|
|
|
- https://cronhub.io/start/1f5e3410-254c-11e8-b61d-55875966d031
|
|
|
+ https://cronhub.io/start/1f5e3410-254c-11e8-b61d-55875966d01
|
|
|
before_everything:
|
|
|
seq:
|
|
|
- type: str
|
|
|
desc: |
|
|
|
- List of one or more shell commands or scripts to execute before running all
|
|
|
- actions (if one of them is "create"). These are collected from all configuration
|
|
|
- files and then run once before all of them (prior to all actions).
|
|
|
+ List of one or more shell commands or scripts to execute
|
|
|
+ before running all actions (if one of them is "create").
|
|
|
+ These are collected from all configuration files and then
|
|
|
+ run once before all of them (prior to all actions).
|
|
|
example:
|
|
|
- echo "Starting actions."
|
|
|
after_everything:
|
|
|
seq:
|
|
|
- type: str
|
|
|
desc: |
|
|
|
- List of one or more shell commands or scripts to execute after running all
|
|
|
- actions (if one of them is "create"). These are collected from all configuration
|
|
|
- files and then run once before all of them (prior to all actions).
|
|
|
+ List of one or more shell commands or scripts to execute
|
|
|
+ after running all actions (if one of them is "create").
|
|
|
+ These are collected from all configuration files and then
|
|
|
+ run once before all of them (prior to all actions).
|
|
|
example:
|
|
|
- echo "Completed actions."
|
|
|
umask:
|
|
|
type: scalar
|
|
|
- desc: Umask used when executing hooks. Defaults to the umask that borgmatic is run with.
|
|
|
+ desc: |
|
|
|
+ Umask used when executing hooks. Defaults to the umask that
|
|
|
+ borgmatic is run with.
|
|
|
example: 0077
|