54 lines
1.7 KiB
YAML
54 lines
1.7 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:
|
|
# 1. Seul rsync est autorisé (rrsync), pour l'user "backup-sync", et "chrooté" sur le point de montage de la storage box
|
|
# 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: Install rsync package
|
|
apt:
|
|
name: rsync
|
|
state: present
|
|
|
|
- name: Check location of rrsync script
|
|
stat:
|
|
path: /usr/share/doc/rsync/scripts/rrsync
|
|
register: _rrsync
|
|
|
|
- name: Copy rrsync script
|
|
file:
|
|
src: /usr/share/doc/rsync/scripts/rrsync
|
|
dest: /usr/local/bin/rrsync
|
|
state: link
|
|
owner: root
|
|
group: root
|
|
mode: "755"
|
|
when: _rrsync.stat.isreg | default(false)
|
|
|
|
- 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 |