ansible-infra/roles/common/tasks/backup.yml

34 lines
1.2 KiB
YAML

# 1. Backup incrémental tous les jours vers la storage box:
# 1. Dans /mnt/backups, accessible en ro pour l'user "backup-sync"
# -> un seul backup repository = celui de la storage box en sftp (ou via le point de montage en sshfs)
# -> via autofs + sshfs (permet de libérer la connexion en dehors de la phase de backups)
# 2. Chiffrement avec clé symétrique. La clé n'est connue que par l'host
# -> Stocker la clé dans un lieu sûr
# 2. D'autres machines se connectent pour récupérer les backups (rsync):
# 1. En sftp chrooté via l'user "backup-sync"
# 2. Donner accès SSH pour ces machines à l'user "backup-sync"
# Note: L'user "backup" est déjà utilisé par Ubuntu, donc ne pas l'utiliser pour éviter des conflits (mauvais home, etc.)
- include_tasks: user.yml
vars:
user:
name: "{{ backup_owner }}"
groups: []
- name: Create backup directory
file:
path: "{{ backup_chroot_dir }}"
state: directory
owner: root
group: root
mode: "755"
when: not storage_box_enabled
- name: Include Storage Box backup tasks
import_tasks: backup_storage_box.yml
when: storage_box_enabled
tags: backup_storage_box
- name: Include Borg backup tasks
import_tasks: backup_borg.yml
tags: backup_borg