Created
May 10, 2018 17:21
-
-
Save coaxial/46e36d89d7b81887f7275d587fe04c44 to your computer and use it in GitHub Desktop.
borgmatic example config
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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. | |
location: | |
# List of source directories to backup (required). Globs and tildes are expanded. | |
source_directories: | |
- /home | |
- /etc | |
- /var/log/syslog* | |
# Stay in same file system (do not cross mount points). | |
one_file_system: true | |
# Mode in which to operate the files cache. See | |
# https://borgbackup.readthedocs.io/en/stable/usage/create.html#description for | |
# details. | |
files_cache: ctime,size,inode | |
# Alternate Borg local executable. Defaults to "borg". | |
local_path: borg1 | |
# Alternate Borg remote executable. Defaults to "borg". | |
remote_path: borg1 | |
# 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. | |
repositories: | |
- user@backupserver:sourcehostname.borg | |
# 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. | |
patterns: | |
- R / | |
- '- /home/*/.cache' | |
- + /home/susan | |
- '- /home/*' | |
# 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. | |
patterns_from: | |
- /etc/borgmatic/patterns | |
# Any paths matching these patterns are excluded from backups. Globs and tildes | |
# are expanded. See the output of "borg help patterns" for more details. | |
exclude_patterns: | |
- '*.pyc' | |
- ~/*/.cache | |
- /etc/ssl | |
# Read exclude patterns from one or more separate named files, one pattern per | |
# line. See the output of "borg help patterns" for more details. | |
exclude_from: | |
- /etc/borgmatic/excludes | |
# Exclude directories that contain a CACHEDIR.TAG file. See | |
# http://www.brynosaurus.com/cachedir/spec.html for details. | |
exclude_caches: true | |
# Exclude directories that contain a file with the given filename. | |
exclude_if_present: .nobackup | |
# 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 | |
# details. | |
storage: | |
# 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. | |
encryption_passcommand: secret-tool lookup borg-repository repo-name | |
# 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: "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~" | |
# 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 | |
# Remote network upload rate limit in kiBytes/second. | |
remote_rate_limit: 100 | |
# Command to use instead of just "ssh". This can be used to specify ssh options. | |
ssh_command: ssh -i /path/to/private/key | |
# Umask to be used for borg create. | |
umask: 0077 | |
# Maximum seconds to wait for acquiring a repository/cache lock. | |
lock_wait: 5 | |
# Name of the archive. Borg placeholders can be used. See the output of | |
# "borg help placeholders" for details. Default is | |
# "{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. | |
archive_name_format: '{hostname}-documents-{now}' | |
# 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. | |
retention: | |
# Keep all archives within this time interval. | |
keep_within: 3H | |
# Number of minutely archives to keep. | |
keep_minutely: 60 | |
# Number of hourly archives to keep. | |
keep_hourly: 24 | |
# Number of daily archives to keep. | |
keep_daily: 7 | |
# Number of weekly archives to keep. | |
keep_weekly: 4 | |
# Number of monthly archives to keep. | |
keep_monthly: 6 | |
# Number of yearly archives to keep. | |
keep_yearly: 1 | |
# When pruning, only consider archive names starting with this prefix. | |
# Borg placeholders can be used. See the output of "borg help placeholders" for | |
# details. Default is "{hostname}-". | |
prefix: sourcehostname | |
# 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. | |
consistency: | |
# List of one or more consistency checks to run: "repository", "archives", and/or | |
# "extract". Defaults to "repository" and "archives". Set to "disabled" to disable | |
# all consistency checks. "repository" checks the consistency of the repository, | |
# "archive" checks all of the archives, and "extract" does an extraction dry-run | |
# of just the most recent archive. | |
checks: | |
- repository | |
- archives | |
# Restrict the number of checked archives to the last n. Applies only to the "archives" check. | |
check_last: 3 | |
# Shell commands or scripts to execute before and after a backup or if an error has occurred. | |
# IMPORTANT: All provided commands and scripts are executed with user permissions of borgmatic. | |
# Do not forget to set secure permissions on this file as well as on any script listed (chmod 0700) to | |
# prevent potential shell injection or privilege escalation. | |
hooks: | |
# List of one or more shell commands or scripts to execute before creating a backup. | |
before_backup: | |
- echo "`date` - Starting a backup job." | |
# List of one or more shell commands or scripts to execute after creating a backup. | |
after_backup: | |
- echo "`date` - Backup created." | |
# List of one or more shell commands or scripts to execute in case an exception has occurred. | |
on_error: | |
- echo "`date` - Error while creating a backup." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment