alphanodes.backup

Ansible Rolle: Backup

Führe tägliche, wöchentliche und monatliche Backups für Dateien, MySQL-Datenbanken und PostgreSQL-Datenbanken auf Debian- und Ubuntu-Servern durch.

Die Backup-Rotation ist konfigurierbar, z. B. kannst du das Großvater-Vater-Sohn-Schema verwenden.

Ansible Galaxy

Abhängigkeiten

keine

Installation

Ansible 2+

Verwende die Ansible Galaxy CLI:

ansible-galaxy install alphanodes.backup

Rollenvariablen

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

backup_dir: /srv/backups

Verzeichnis für Backups. Stelle sicher, dass genügend Speicherplatz auf dieser Partition vorhanden ist. Verwende Anführungszeichen, um Umwandlungsprobleme zu vermeiden (z. B. mit to_nice_yaml).

backup_dir_mode: '0755'

Verzeichnisberechtigung für backup_dir

backup_dir_owner: root

Verzeichnisbesitzer für backup_dir

backup_dir_group: root

Verzeichnisgruppe für backup_dir

backup_max_days: 7

Anzahl der Tage für tägliche Backup-Sets. Es werden nur backup_max_days (Tage) gespeichert. Ältere Sets werden automatisch gelöscht. Der Wert muss >= 1 sein.

backup_max_weeks: 1

Anzahl der Wochen für wöchentliche Backup-Sets. Es werden nur backup_max_weeks (Wochen) gespeichert. Ältere Sets werden automatisch gelöscht. Der Wert muss >= 1 sein. Das wöchentliche Backup wird am ersten Tag der Woche erstellt. An diesem Tag wird nur dieses Backup erstellt (und kein tägliches Backup - da dies ein Duplikat wäre).

backup_max_months: 1

Anzahl der Monate für monatliche Backup-Sets. Es werden nur backup_max_months (Monate) gespeichert. Ältere Sets werden automatisch gelöscht. Der Wert muss >= 1 sein. Das monatliche Backup wird am ersten Tag des Monats erstellt. An diesem Tag wird nur dieses Backup erstellt (und kein tägliches oder wöchentliches Backup - da dies ein Duplikat wäre).

backup_remote_host: ''

Hostname zum Synchronisieren von Backups für die Verwendung von backup_remote_transfer.

backup_remote_port: ''

Port zum Synchronisieren von Backups für die Verwendung von backup_remote_transfer.

backup_remote_dir: ''

Remote-Verzeichnis für backup_remote_host zur Verwendung in backup_remote_transfer.

backup_remote_excludes:
  - '*.journal'
  - '.nfs*'
  - '*.tar'

Diese Dateien sind vom Synchronisieren zum Remote-Host ausgeschlossen. Dies wird nur verwendet, wenn backup_remote_transfer auf rsync gesetzt ist.

backup_rsync_options: '-avz --delete'

rsync-Optionen für backup_remote_transfer mit rsync.

backup_remote_transfer: rsync

Art der Synchronisation. Mögliche Werte sind: rsync oder lftp

backup_remote_user: ''

Benutzer für die Remote-Synchronisation. Dies wird nur verwendet, wenn backup_remote_transfer auf lftp gesetzt ist.

backup_remote_password: ''

Passwort für die Remote-Synchronisation. Dies wird nur verwendet, wenn backup_remote_transfer auf lftp gesetzt ist.

backup_with_borg: ''

Wenn Backup-Borg ausgeführt werden soll.

backup_db_dump_format: .sql.gz

Unkomprimierte SQL-Dateien (.sql) sowie bzip2 (.bz2), gzip (.gz) und xz. Momentan wird dies nur für MySQL-Dumps verwendet.

backup_with_mysql: false

Führe MySQL (MariaDB) Backup-Dump durch. Alle Datenbanken werden in separaten Dateien gespeichert.

backup_with_postgresql: false

Führe PostgreSQL Backup-Dump durch. Alle Datenbanken werden in separaten Dateien gespeichert.

backup_with_mongodb: false

Führe MongoDB Backup-Dump durch. Alle Datenbanken werden in einer einzigen Archivdatei gespeichert.

backup_mongodb_options: '--archive --gzip'

Optionen für MongoDB-Dump.

backup_mysql_db_excludes:
  - performance_schema
  - information_schema
  - sys
backup_mysql_single_transaction: true
# backup_mysqldump_options: '--extended-insert=true --opt --single-transaction'

Benutzerdefinierte MySQL-Optionen (immer sql.gz wird verwendet). Wenn gesetzt, wird der native mysql_dump (ohne Ansible) verwendet. Standardmäßig ist dies nicht gesetzt.

backup_postgresqldump_options: "--no-owner -Fc"

PostgreSQL-Dump-Optionen.

backup_create_hashfiles: false

Erstelle Hash-Dateien von allen Backup-Sets.

backup_files_unsafe_writes: false

Wenn backup_files_unsafe_writes auf ja gesetzt ist und während der Erstellung von tar-Dateien geänderte Dateien gefunden werden, werden keine Fehler gemeldet. tar läuft mit den zusätzlichen Optionen --warning=no-file-removed --warning=no-file-changed --warning=no-file-ignored. Diese Option kann für jedes Set mit unsafe_writes überschrieben werden.

backup_sets: []

Backup-Sets für das Datei-Backup. name wird als Backup-Dateiname verwendet. src ist das Verzeichnis der Datei, das gesichert werden soll. unsafe_writes überschreibt backup_files_unsafe_writes. excludes ist eine Liste, die verwendet werden kann, um Dateien oder Verzeichnisse auszuschließen.

backup_one_per_day_limit: true

Erstelle nur ein Backup-Set pro Tag. Vorhandene Backup-Sets desselben Tages werden entfernt.

#sync_master: anything

Wenn sync_master definiert ist, wird das Backup übersprungen. Du kannst es für Replikationsumgebungen verwenden.

backup_skip_sync_clients: true

Wenn sync_master definiert ist, bedeutet dies, dass es sich um einen sync_client handelt.

backup_pre_commands: []

Liste der Befehle, die vor dem Backup-Dump ausgeführt werden sollen.

backup_post_commands: []

Liste der Befehle, die nach der Erstellung des Backup-Dumps ausgeführt werden.

Beispiel-Playbook

- hosts: server-name
  vars:
    backup_sets:
      - name: etc
        src: /etc
  roles:
    - alphanodes.backup

Erweitertes Beispiel-Playbook

- hosts: server-name
  vars:
    backup_max_days: 14
    backup_max_weeks: 4
    backup_max_months: 6
    backup_with_postgresql: true
    backup_dir_mode: '0770'
    backup_dir_group: postgres
    backup_sets:
      - name: etc
        src: /etc
      - name: jenkins
        src: /var/lib/jenkins
        unsafe_writes: true
        excludes:
          - builds
          - workspace
  roles:
    - alphanodes.backup

Lizenz

GPL Version 3

Autoreninformation

Diese Rolle wurde 2018 von AlphaNodes erstellt.

Über das Projekt

Run daily backups for files, MySQL databases and PostgreSQL databases

Installieren
ansible-galaxy install alphanodes.backup
Lizenz
gpl-3.0
Downloads
9.4k
Besitzer
Professional Services with Open Source