Sauvegardes

Les sauvegardes sont effectuées avec borg et borgmatic.

Installation

pacman -S borg borgmatic

Configuration

La commande suivante permet de générer une configuration par défault.

sudo generate-borgmatic-config

Le fichier est dans /etc/borgmatic/config.yaml.

Editer le fichier avec le contenu suivant :

location:
  source_directories:
    - /etc
    - …

  repositories:
    - ssh://<user>@<host>:<port>//<path>
  exclude_patterns:
    - "*.pyc"
    - /home/*/.cache
    - /etc/ssl
    - …

storage:
  encryption_passphrase: <passphrase>
  ssh_command: ssh -i /root/.ssh/id_ed25519-borg
  borg_keys_directory: /root/.borg/keys

retention:
  keep_daily: 7
  keep_weekly: 4
  keep_monthly: 6
consistency:
  checks:
    - repository
    - archives
  check_last: 1

Créer une clé ssh sans mot de passe pour borg :

ssh-keygen -t ed25519

Choisir comme chemin /root/.ssh/id_ed25519-borg. Copier cette clé dans ~<user>/.ssh/authorized_keys2 sur la machine de sauvegardes.

Info

on utilise authorized_keys2 car souvent, authorized_keys est géré par un script.

Sauvegarder la clé ET la passphrase dans un endroit sur.

Première sauvegarde

Initialiser le dépôt avec

borgmatic init -e keyfile

Puis, lancer une sauvegarde avec

borgmatic create --verbosity 1 --list --stats

Sauvegardes automatiques

Ajouter une ligne dans cron :

0 3 * * * root PATH=$PATH:/usr/bin:/usr/local/bin /root/.local/bin/borgmatic --verbosity -1 --syslog-verbosity 1

Vérifier les sauvegardes

Lister les sauvegardes

borgmatic list