# 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" # Bandwidth limit for upload, 20mbit/s by default bwlimit: 2500 # 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: {} ```