newtonne.backup

Ansible Rolle: Backup

CI

Installiert und konfiguriert borgmatic und borg für die automatisierte Sicherung von Dateien sowie MySQL- und PostgreSQL-Datenbanken.

Anforderungen

Optionale Anforderungen:

  • cron muss installiert sein, um die Backups zu automatisieren.

  • MySQL oder eine MySQL-kompatible Datenbank muss installiert sein, um MySQL-Datenbanken zu sichern. Gleiches gilt für PostgreSQL-Datenbanken.

Rollenvariablen

Verfügbare Variablen sind unten aufgeführt, zusammen mit Standardwerten (siehe defaults/main.yml):

Borgmatic konfigurationsbezogen

backup_directories: []

Die Liste der Verzeichnisse (oder einzelnen Dateien), die gesichert werden sollen.

backup_mysql_databases: []

Die Liste der MySQL-Datenbanken, die gesichert werden sollen. Weitere Informationen finden Sie unter borgmatic - Datenbank-Dump-Hooks.

backup_postgresql_databases: []

Die Liste der PostgreSQL-Datenbanken, die gesichert werden sollen. Weitere Informationen finden Sie unter borgmatic - Datenbank-Dump-Hooks.

backup_repositories: []

Die Liste der borg-Repositories, in die gesichert werden soll. Diese müssen im Voraus mit borg init erstellt werden. Siehe auch borg-Dokumentation zu Repository-URLs.

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

Diese Variablen können verwendet werden, um zusätzliche Konfigurationen für borgmatic bereitzustellen, wie z. B. das Verschlüsselungspasswort für das borg-Repo oder zusätzliche/alternative Hook-Skripte/Befehle. Siehe das borgmatic-Schema für die vollständige Liste der Konfigurationsoptionen.

backup_hooks_globlist: hooks/*

Die Glob-Muster, die die Dateisuchfunktion verwendet, um Hook-Skripte auf der Steuerungsmaschine zu finden.

backup_hooks_directory: /etc/borgmatic/hooks

Das Verzeichnis, in das alle borgmatic-Hook-Skripte, die durch die obigen Glob-Muster gefunden wurden, kopiert werden.

Allgemein

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

Die Liste der Cron-Zeitvorgaben und Aktionen, die ausgeführt werden sollen. Wenn keine Aktion angegeben ist, führt borgmatic alle Aktionen aus, also Prune, Erstellen und Überprüfen (siehe borgmatic-Dokumentation - Backups einrichten). Wenn leer gesetzt, wird keine Crontab konfiguriert.

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

Der Wert von $PATH, der oben in der Crontab gesetzt werden soll.

backup_verbosity: 0

Die Ausführungsweise von borgmatic. Siehe borgmatic-Befehlsreferenz.

backup_user: root

Der Benutzer, der die Backups ausführt und die verschiedenen backup-bezogenen Dateien und Verzeichnisse besitzt.

backup_group: root

Die Gruppe, die die verschiedenen backup-bezogenen Dateien und Verzeichnisse besitzt.

backup_config_directory: /etc/borgmatic

Das Verzeichnis, in das die borgmatic-Konfigurationsdatei gelegt wird.

backup_log_file: /var/log/borgmatic.log

Die Datei, in die die borgmatic-Ausgabe protokolliert wird.

Installationsbezogen

backup_borg_keyserver: hkps://keys.openpgp.org

Der GPG-Keyserver, von dem der borg-öffentliche Schlüssel heruntergeladen werden soll.

backup_borg_gpg_fpr: 6D5BEF9ADD2075805747B70F9F88FB52FAF7B393

Der Fingerabdruck des borg-öffentlichen Schlüssels. Siehe borg-Dokumentation - Sicherheit.

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

Die URL, von der die borg-Binary heruntergeladen werden soll.

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

Der Name des borg-Binär-Assets, das heruntergeladen werden soll.

backup_borg_version: 1.1.17

Die Version der borg-Binary, die heruntergeladen werden soll.

backup_borg_path: /usr/local/bin/borg

Der Pfad, wohin die borg-Binary installiert wird. Beachten Sie, dass kein Versuch unternommen wird, borg zu installieren, wenn diese Datei bereits vorhanden ist.

backup_borgmatic_version: 1.5.20

Die Version von borgmatic, die mit pip installiert werden soll.

backup_borgmatic_venv: /etc/borgmatic/venv

Die virtuelle Umgebung, in die pip borgmatic installiert. Sie wird erstellt, wenn sie noch nicht existiert.

Abhängigkeiten

Keine

Beispiel-Playbook

- hosts: servers

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

  roles:
     - { role: newtonne.backup }

Lizenz

MIT

Über das Projekt

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

Installieren
ansible-galaxy install newtonne.backup
GitHub Repository
Lizenz
mit
Downloads
151
Besitzer