newtonne.backup

Rôle Ansible : Sauvegarde

CI

Installe et configure borgmatic et borg, pour la sauvegarde automatisée de fichiers, ainsi que des bases de données MySQL et PostgreSQL.

Exigences

Exigences optionnelles :

  • cron doit être installé pour automatiser les sauvegardes.

  • MySQL ou une base de données compatible MySQL doit être installé pour sauvegarder les bases de données MySQL. Il en va de même pour les bases de données PostgreSQL.

Variables du Rôle

Les variables disponibles sont listées ci-dessous, avec des valeurs par défaut (voir defaults/main.yml) :

Lié à la configuration de Borgmatic

backup_directories: []

La liste des répertoires (ou fichiers individuels) à sauvegarder.

backup_mysql_databases: []

La liste des bases de données MySQL à sauvegarder. Voir borgmatic - hooks de dump de base de données pour plus d'informations.

backup_postgresql_databases: []

La liste des bases de données PostgreSQL à sauvegarder. Voir borgmatic - hooks de dump de base de données pour plus d'informations.

backup_repositories: []

La liste des référentiels borg pour la sauvegarde. Ceux-ci doivent être créés à l'avance en utilisant borg init. Voir aussi documentation Borg sur les URL de référentiel.

backup_location_options: {}
backup_storage_options: {}
backup_retention_options: {}
backup_consistency_options: {}
backup_hooks_options: {}

Ces variables peuvent être utilisées pour fournir une configuration supplémentaire à borgmatic, comme la phrase de passe de chiffrement pour le référentiel borg ou des scripts/commandes de hook supplémentaires/alternatifs. Voir le schéma de borgmatic pour la liste complète des options de configuration.

backup_hooks_globlist: hooks/*

Les motifs globaux que la recherche de fichiers globaux utilisera pour trouver des scripts de hook sur la machine de contrôle.

backup_hooks_directory: /etc/borgmatic/hooks

Le répertoire dans lequel tous les scripts de hook borgmatic trouvés par les motifs ci-dessus seront copiés.

Général

backup_cron_jobs
  - schedule: "0 3 * * *"
#   action: create

La liste des spécifications de temps cron et des actions à réaliser. Si aucune action n'est spécifiée, borgmatic exécutera toutes les actions, c'est-à-dire élaguer, créer et vérifier (voir docs de borgmatic - configurer des sauvegardes). Si laissé vide, aucune crontab ne sera configurée.

backup_cron_path: "{{ backup_borg_path | dirname }}:/usr/bin:/bin"

La valeur de $PATH à définir au début de la crontab.

backup_verbosity: 0

Le niveau de verbosité avec lequel exécuter borgmatic. Voir référence de ligne de commande borgmatic.

backup_user: root

L'utilisateur qui exécutera les sauvegardes et possèdera les divers fichiers et répertoires liés aux sauvegardes.

backup_group: root

Le groupe qui possédera les divers fichiers et répertoires liés aux sauvegardes.

backup_config_directory: /etc/borgmatic

Le répertoire dans lequel le fichier de configuration borgmatic sera placé.

backup_log_file: /var/log/borgmatic.log

Le fichier dans lequel la sortie de borgmatic sera enregistrée.

Lié à l'installation

backup_borg_keyserver: hkps://keys.openpgp.org

Le serveur de clés GPG à partir duquel télécharger la clé publique borg.

backup_borg_gpg_fpr: 6D5BEF9ADD2075805747B70F9F88FB52FAF7B393

L'empreinte de la clé publique borg. Voir documentation Borg - sécurité.

backup_borg_url: https://github.com/borgbackup/borg/releases/download

L'URL à partir de laquelle télécharger le binaire borg.

backup_borg_asset: borg-linux{{ ansible_architecture [-2:] }}

Le nom de l'asset binaire borg à télécharger.

backup_borg_version: 1.1.17

La version du binaire borg à télécharger.

backup_borg_path: /usr/local/bin/borg

Le chemin où le binaire borg sera installé. Notez qu'aucune tentative ne sera faite pour installer borg si ce fichier existe déjà.

backup_borgmatic_version: 1.5.20

La version de borgmatic à installer avec pip.

backup_borgmatic_venv: /etc/borgmatic/venv

L'environnement virtuel dans lequel pip installera borgmatic. Il sera créé s'il n'existe pas déjà.

Dépendances

Aucune

Exemple de Playbook

- hosts: serveurs

  vars:
    backup_directories:
      - /etc/myapp
      - /var/myapp
    backup_repositories:
      - user@host1:server_backup1
      - user@host2:server_backup2
    backup_storage_options:
      encryption_passphrase: motdepassesecret
    backup_retention_options:
      keep_daily: 7
      keep_weekly: 4
    backup_cron_jobs:
      - schedule: "0 2 * * *"

  roles:
     - { role: newtonne.backup }

Licence

MIT

À propos du projet

Backup files, and MySQL and PostgreSQL databases using borg and borgmatic.

Installer
ansible-galaxy install newtonne.backup
Licence
mit
Téléchargements
151
Propriétaire