timorunge.freeipa_server_backup

freeipa_server_backup

Dieses Modul kümmert sich um die Backups deiner FreeIPA-Server.

Voraussetzungen

Dieses Modul benötigt Ansible 2.6.0 oder höher.

Du kannst einfach pip verwenden, um eine stabile Version zu installieren (und zu definieren):

pip install ansible==2.7.9

Alle Plattformanforderungen sind in der Metadaten-Datei aufgeführt.

Um dieses Modul zu verwenden, schau dir die Abhängigkeiten an.

Sieh dir auch die offizielle Dokumentation an.

Installation

ansible-galaxy install timorunge.freeipa_server_backup

Variablen des Moduls

Die Variablen, die an dieses Modul übergeben werden können und eine kurze Beschreibung dazu sind wie folgt. (Für alle Variablen, schau dir defaults/main.yml an)

Zurzeit ist es leider nicht möglich, das Backup-Verzeichnis festzulegen. Dies ist eine Einschränkung des ipa-backup Befehls selbst (der Standardort ist /var/lib/ipa/backup).

# Definiert das maximale Alter der Backups (in Tagen)
# Typ: Int
freeipa_server_backup_max_age: 14

# Definiere die Zeit, wann ein vollständiges Backup durchgeführt werden soll
# (dies stoppt und startet die ipa-Dienste!)
# Typ: Dict
freeipa_server_backup_cron_full:
  minute: "{{ 59 | random(seed=inventory_hostname) }}"
  month: "*"
  weekday: "*"
  hour: 4
  day: "*"
  state: present

# Definiere die Zeit, wann ein Online-Backup durchgeführt werden soll
# Typ: Dict
freeipa_server_backup_cron_online:
  minute: "{{ 59 | random(seed=inventory_hostname) }}"
  month: "*"
  weekday: "*"
  hour: "*"
  day: "*"
  state: present

Beispiele

1) FreeIPA-Server-Backup mit Standard-Einstellungen installieren

- hosts: freeipa-server-backup
  roles:
    - timorunge.freeipa_server_backup

2) FreeIPA-Server-Backup mit benutzerdefinierten Einstellungen installieren

- hosts: freeipa-server-backup
  vars:
    freeipa_server_backup_max_age: 7
    freeipa_server_backup_cron_full:
      day: "*"
      hour: 3
      minute: "11"
      month: "*"
      state: present
      weekday: "*"
    freeipa_server_backup_cron_online:
      day: "*"
      hour: "*"
      minute: 33
      month: "*"
      state: present
      weekday: "*"
    freeipa_server_backup_cron_delete:
      day: "*"
      hour: 3
      minute: 55
      month: "*"
      state: present
      weekday: "*"
  roles:
    - timorunge.freeipa_server_backup

3) FreeIPA-Server-Backup installieren und die Daten an einen anderen Ort verschieben (mit rsync)

- hosts: freeipa-server-backup
  vars:
    freeipa_server_backup_mv_location: rsync
    freeipa_server_backup_rsync_opts:
      - "-avq"
      - "--ignore-existing"
      - '-e "ssh -i /home/ipa-backups/.ssh/id_rsa"'
    freeipa_server_backup_rsync_dest: [email protected]:/var/backups/ipa-backup
  roles:
    - timorunge.freeipa_server_backup

Tests

Build Status

Die Tests werden mit Docker und docker_test_runner durchgeführt, die die folgenden Container starten:

  • CentOS 7
  • Ubuntu 16.04 (Xenial Xerus)
  • Ubuntu 17.10 (Artful Aardvark)
  • Ubuntu 18.04 (Bionic Beaver)
  • Ubuntu 18.10 (Cosmic Cuttlefish)

Ansible 2.7.9 ist in allen Containern installiert und wendet ein Test-Playbook lokal an.

Für weitere Details und zusätzliche Überprüfungen schau dir die docker_test_runner-Konfiguration und den Docker-Einstiegspunkt an.

# Lokal testen:
curl https://raw.githubusercontent.com/timorunge/docker-test-runner/master/install.sh | sh
./docker_test_runner.py -f tests/docker_test_runner.yml

Abhängigkeiten

Dieses Modul benötigt einen laufenden FreeIPA Server (Github Repo).

Wenn du ein Betriebssystem verwendest, das keine FreeIPA-Pakete direkt aus den Repositories bereitstellt, kannst du das oben erwähnte Ansible-Modul verwenden.

In diesem Fall stelle sicher, dass du freeipa_server_backup_install_pkgs auf false setzt (dies deaktiviert die komplette Paketinstallation dieses Moduls).

ToDo

  • Möglichkeit hinzufügen, Backups zu verschlüsseln (--gpg und --gpg-keyring=GPG_KEYRING)
  • Dateien an einen externen Ort verschieben (s3, rsync & ssh)

Lizenz

BSD 3-Klausel "New" oder "Revised" Lizenz

Autor Informationen

  • Timo Runge
Installieren
ansible-galaxy install timorunge.freeipa_server_backup
GitHub Repository
Lizenz
Unknown
Downloads
9.1k
Besitzer