Files
ansible-fet/roles/borg_server/README.md
Daniel A. Maierhofer 99ee7f23aa Add borg backup role
2018-07-28 19:05:46 +02:00

60 lines
1.6 KiB
Markdown

Borgbackup
==========
Ansible [Borgbackup](https://borgbackup.readthedocs.io/en/stable/) role.
Features:
* Repository or binary installation
* Schedules regular backup jobs
* Schedules regular prune jobs to keep backup windows clean
* Flexible configuration to list backup targets
Role Variables
--------------
see `defaults/main.yml`
Example Playbook
----------------
- hosts: all
roles:
- role: SphericalElephant.borgbackup
borgbackup_client: True
borgbackup_client_backup_server: backup01.example.com
borgbackup_create_jobs:
- name: system
day: "*"
hour: "0"
minute: "{{ 59 | random }}"
directories:
- /etc
- /home
- /var
excludes:
- 're:^/var/lib/apt'
- 're:^/var/[^/]+\/cache/'
borgbackup_prune_jobs:
- name: system
prune_options: "--keep-daily=7 --keep-weekly=4"
day: "*"
hour: "8"
minute: "0"
borgbackup_check_jobs:
- name: system
check_options: "--lock-wait 28800"
day: "1"
hour: "12"
minute: "0"
You can easily assign client and server attributes from your inventory with something similar to the following:
borgbackup_client: "{{ (inventory_hostname in groups.borgbackup_server)|ternary(False, True) }}"
borgbackup_client_backup_server: "{{ groups.borgbackup_server[0] }}"
License
-------
Apache 2.0