newtonne.backup

Ansible Rola: Kopia zapasowa

CI

Instaluje i konfiguruje borgmatic oraz borg do automatycznego tworzenia kopii zapasowych plików oraz baz danych MySQL i PostgreSQL.

Wymagania

Opcjonalne wymagania:

  • cron musi być zainstalowane, aby zautomatyzować proces tworzenia kopii zapasowych.

  • Musi być zainstalowana baza danych MySQL lub zgodna z MySQL, aby móc tworzyć kopie zapasowe baz danych MySQL. To samo dotyczy baz danych PostgreSQL.

Zmienne roli

Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi (zobacz defaults/main.yml):

Dotyczące konfiguracji Borgmatic

backup_directories: []

Lista katalogów (lub pojedynczych plików) do kopii zapasowej.

backup_mysql_databases: []

Lista baz danych MySQL do skopiowania. Zobacz borgmatic - haki do zrzutu bazy danych po więcej informacji.

backup_postgresql_databases: []

Lista baz danych PostgreSQL do skopiowania. Zobacz borgmatic - haki do zrzutu bazy danych po więcej informacji.

backup_repositories: []

Lista repositariów borg, do których będą zapisywane kopie zapasowe. Muszą być utworzone wcześniej za pomocą borg init. Zobacz także dokumentację borg na temat adresów repozytoriów.

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

Te zmienne mogą być używane do dostarczenia dodatkowej konfiguracji do borgmatic, na przykład hasła szyfrującego do repozytorium borg lub dodatkowych/alternatywnych skryptów/komend. Zobacz schemat borgmatic po pełną listę opcji konfiguracyjnych.

backup_hooks_globlist: hooks/*

Wzory glob, które będą używane do znajdowania skryptów haków na maszynie kontrolnej.

backup_hooks_directory: /etc/borgmatic/hooks

Katalog, do którego będą kopiowane skrypty haków borgmatic znalezione przez powyższe wzory glob.

Ogólne

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

Lista specyfikacji czasu cron i działań do wykonania. Jeśli nie jest określona akcja, borgmatic wykona wszystkie działania, to znaczy, prune, create i check (zobacz dokumentację borgmatic - konfiguracja kopii zapasowych). Jeśli zostanie pozostawione puste, nie zostanie skonfigurowany żaden crontab.

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

Wartość $PATH do ustawienia na początku crontab.

backup_verbosity: 0

Wybór stopnia szczegółowości dla borgmatic. Zobacz dokumentację linii poleceń borgmatic.

backup_user: root

Użytkownik, który wykona kopie zapasowe i będzie właścicielem różnych plików i katalogów związanych z kopią zapasową.

backup_group: root

Grupa, która będzie właścicielem różnych plików i katalogów związanych z kopią zapasową.

backup_config_directory: /etc/borgmatic

Katalog, w którym zostanie umieszczony plik konfiguracyjny borgmatic.

backup_log_file: /var/log/borgmatic.log

Plik, do którego będą zapisywane wyniki borgmatic.

Dotyczące instalacji

backup_borg_keyserver: hkps://keys.openpgp.org

Serwer kluczy GPG, z którego pobierany jest publiczny klucz borg.

backup_borg_gpg_fpr: 6D5BEF9ADD2075805747B70F9F88FB52FAF7B393

Odcisk palca publicznego klucza borg. Zobacz dokumentację borg - bezpieczeństwo.

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

URL, z którego będzie pobierany binarny plik borg.

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

Nazwa zasobu binarnego borg do pobrania.

backup_borg_version: 1.1.17

Wersja binarnego pliku borg do pobrania.

backup_borg_path: /usr/local/bin/borg

Ścieżka, w której zainstalowany zostanie plik borg. Zauważ, że nie będzie podejmowana próba zainstalowania borg, jeśli ten plik już istnieje.

backup_borgmatic_version: 1.5.20

Wersja borgmatic do zainstalowania za pomocą pip.

backup_borgmatic_venv: /etc/borgmatic/venv

Virtualenv, w którym pip zainstaluje borgmatic. Zostanie utworzony, jeśli jeszcze nie istnieje.

Zależności

Brak

Przykładowy 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: secretpassword
    backup_retention_options:
      keep_daily: 7
      keep_weekly: 4
    backup_cron_jobs:
      - schedule: "0 2 * * *"

  roles:
     - { role: newtonne.backup }

Licencja

MIT

O projekcie

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

Zainstaluj
ansible-galaxy install newtonne.backup
Licencja
mit
Pobrania
151
Właściciel