101 lines
2.8 KiB
Markdown
101 lines
2.8 KiB
Markdown
# Backup client
|
|
|
|
## Parameters and defaults
|
|
|
|
All configuration is to be placed inside the `backups` dict.
|
|
|
|
```yaml
|
|
# Settings for all backup related timers.
|
|
jobs:
|
|
retention:
|
|
# Can be used to enable/disable the job
|
|
enabled: true
|
|
# Time this job runs on, random by default
|
|
OnCalendar: "hh:mm"
|
|
run:
|
|
# Can be used to enable/disable the job
|
|
enabled: true
|
|
# Time this job runs on, random by default
|
|
OnCalendar: "hh:mm"
|
|
check:
|
|
# Can be used to enable/disable the job
|
|
enabled: true
|
|
# Time this job runs on, random by default
|
|
OnCalendar: "hh:mm"
|
|
export:
|
|
# Can be used to enable/disable the job
|
|
enabled: false
|
|
# Time this job runs on, random by default
|
|
OnCalendar: "hh:mm"
|
|
|
|
# backend specific settings
|
|
backends:
|
|
# restic specific settings
|
|
restic:
|
|
# url of the restic repository
|
|
url: '/var/backup-client/restic'
|
|
# repository type can be 'local' or 'sftp'
|
|
repo_type: 'local'
|
|
# additional repo keys to add. Format is "user: key"
|
|
additional_keys: {}
|
|
|
|
# Mode in which the backup is taken. One of the following:
|
|
#
|
|
# vm-via-hypervisor: backup a vm via restic on the hypervisor. Saves config on the host
|
|
# hypervisor-restic: backup its vms via restic
|
|
# standalone-restic: use restic on the target itself to save a backup to a backup location
|
|
mode: vm-via-hypervisor
|
|
|
|
# Allows backups to be skipped
|
|
enabled: True
|
|
|
|
# How many copies per time intervall should be kept?
|
|
# Note that this is ignored in vm-via-hypervisor mode because the vm host settings are used for all vms
|
|
retention:
|
|
hours: 12
|
|
days: 14
|
|
weeks: 16
|
|
months: 12
|
|
years: 3
|
|
|
|
# Settings for the export task
|
|
export:
|
|
# list of all remote destinations the backup should be exported to
|
|
destinations: []
|
|
# every element of this list describes an export target
|
|
# - user: root
|
|
# host: localhost
|
|
# remotepath: /
|
|
# type: rsync
|
|
# port: 22
|
|
# key: "/etc/backup-client/id_ed25519"
|
|
|
|
# Settings to create a remote sftp user. Use this for restic sftp repos
|
|
remote_sftp_user:
|
|
# enable/disable the user creation feature
|
|
enabled: False
|
|
# user name
|
|
name: backup
|
|
# user group
|
|
group: nogroup
|
|
# user auxillary groups
|
|
groups: []
|
|
# host to create the user on
|
|
host: ~
|
|
# Path used to setup an sftp chroot using ssh.
|
|
# Only the top most folder is created
|
|
chroot_basepath: "/var/chroots/{{ inventory_hostname }}"
|
|
# Path to bindmount in the chroot jail
|
|
storage_path: "/srv/backups/{{ inventory_hostname }}"
|
|
# Wether to create the topmost storage folder or not
|
|
create_storage_folder: True
|
|
|
|
# keys are strings with glob patterns of files to be excluded. Value musst be true to enable the exclude, false to disable it
|
|
# Only supportet in restic based backups
|
|
exclude_files: {}
|
|
|
|
# Keys are strings with glob patterns of files to be included. Value musst be true to enable the include, false to disable it
|
|
# Only supportet in restic based backups
|
|
# Ignored in vm-via-hypervisor mode
|
|
include_files: {}
|
|
```
|