| {%- from "backupninja/map.jinja" import client, service_grains with context %} |
| {%- from "linux/map.jinja" import system with context %} |
| ## |
| ## This is an example rdiff-backup configuration file. |
| ## |
| ## Here you can find all the possible rdiff-backup options, details of |
| ## what the options provide and possible settings. The defaults are set |
| ## as the commented out option, uncomment and change when |
| ## necessary. Options which are uncommented in this example do not have |
| ## defaults, and the settings provided are recommended. |
| ## |
| ## The defaults are useful in most cases, just make sure to configure the |
| ## destination host and user. |
| ## |
| |
| ## passed directly to rdiff-backup |
| ## an example setting would be: |
| ## options = --force |
| ## |
| ## Default: |
| # options = |
| |
| ## default is 0, but set to 19 if you want to lower the priority. |
| ## an example setting would be: |
| ## nicelevel = 19 |
| ## |
| ## Default |
| # nicelevel = 0 |
| |
| ## default is yes. set to no to skip the test if the remote host is alive |
| ## |
| ## Default: |
| # testconnect = no |
| |
| ## default is not to limit bandwidth. |
| ## set to a number in bytes/second to limit bandwidth usage. Use a negative |
| ## number to set a limit that will never be exceeded, or a positive number |
| ## to set a target average bandwidth use. cstream is required. See cstream's |
| ## -t option for more information. 62500 bytes = 500 Kb (.5 Mb) |
| ## an example setting would be: |
| ## bwlimit = 62500 |
| ## |
| ## Default: |
| # bwlimit = 0 |
| |
| ## should backupninja ignore the version differences between source and remote |
| ## rdiff-backup? (default: no) |
| ## This could be useful if the version differences between rdiff-backup instances |
| ## on remote and local side are different, and you are certain there are no |
| ## problems in using mis-matched versions and want to get beyond this check. |
| ## An example usage could be the remote side has its authorized_keys configured |
| ## with command="rdiff-backup --server" to allow for restricted yet automated |
| ## password-less backups |
| ## |
| ## Default: |
| # ignore_version = no |
| |
| ###################################################### |
| ## source section |
| ## (where the files to be backed up are coming from) |
| |
| [source] |
| |
| ## an optional subdirectory below 'directory' (see [dest]) |
| label = thishostname |
| |
| ## type can be "local" or "remote" |
| type = local |
| |
| ## only use if '[source] type = remote' |
| # host = srchost |
| # user = srcuser |
| |
| ## how many days of data to keep |
| ## (you can also use the time format of rdiff-backup, e.g. 6D5h) |
| ## (to keep everything, set this to yes) |
| ## an example setting would be: |
| ##keep = yes |
| ## |
| ## Default: |
| # keep = 60 |
| |
| ## A few notes about includes and excludes: |
| ## 1. include, exclude and vsinclude statements support globbing with '*' |
| ## 2. Symlinks are not dereferenced. Moreover, an include line whose path |
| ## contains, at any level, a symlink to a directory, will only have the |
| ## symlink backed-up, not the target directory's content. Yes, you have to |
| ## dereference yourself the symlinks, or to use 'mount --bind' instead. |
| ## Example: let's say /home is a symlink to /mnt/crypt/home ; the following |
| ## line will only backup a "/home" symlink ; neither /home/user nor |
| ## /home/user/Mail will be backed-up : |
| ## include = /home/user/Mail |
| ## A workaround is to 'mount --bind /mnt/crypt/home /home' ; another one is to |
| ## write : |
| ## include = /mnt/crypt/home/user/Mail |
| ## 3. All the excludes come after all the includes. The order is not otherwise |
| ## taken into account. |
| |
| ## files to include in the backup |
| {%- for backup_name, backup in service_grains.backupninja.backup.iteritems() %} |
| {%- for fs_include in backup.get('fs_includes', []) %} |
| include = {{ fs_include }} |
| {%- endfor %} |
| {%- endfor %} |
| |
| ## If vservers = yes in /etc/backupninja.conf then the following variables can |
| ## be used: |
| ## vsnames = all | <vserver1> <vserver2> ... (default = all) |
| ## vsinclude = <path> |
| ## vsinclude = <path> |
| ## ... |
| ## Any path specified in vsinclude is added to the include list for each vserver |
| ## listed in vsnames (or all if vsnames = all, which is the default). |
| ## |
| ## For example, vsinclude = /home will backup the /home directory in every |
| ## vserver listed in vsnames. If you have 'vsnames = foo bar baz', this |
| ## vsinclude will add to the include list /vservers/foo/home, /vservers/bar/home |
| ## and /vservers/baz/home. |
| ## Vservers paths are derived from $VROOTDIR. |
| |
| {%- for backup_name, backup in service_grains.backupninja.backup.iteritems() %} |
| {%- for fs_exclude in backup.get('fs_excludes', []) %} |
| exclude = {{ fs_exclude }} |
| {%- endfor %} |
| {%- endfor %} |
| |
| |
| ###################################################### |
| ## destination section |
| ## (where the files are copied to) |
| |
| [dest] |
| |
| ## type can be "local" or "remote", this must be set! |
| ## an example configuration would be: |
| ## type = remote |
| ## |
| ## Default: |
| # type = |
| |
| ## put the backups under this directory, this must be set! |
| ## an example setting would be: |
| ## directory = /backups |
| ## |
| ## Default: |
| # directory = |
| |
| ## the machine which will receive the backups. |
| ## only use if "[dest] type = remote" |
| ## an example setting would be: |
| ## host = backuphost |
| ## |
| ## Default |
| # host = |
| |
| ## make the files owned by this user. you must be able to |
| ## `su -c "ssh backupuser@backhost"` without specifying a password. |
| ## only use if "[dest] type = remote" |
| ## an example setting would be: |
| ## user = backupuser |
| ## |
| ## Default: |
| # user = |
| |
| ## passed directly to ssh |
| ## an example setting would be: |
| ## sshoptions = -o IdentityFile=/root/.ssh/id_rsa_duplicity |
| ## |
| ## Default: |
| # sshoptions = |