tag1consulting.borgbackup

Rola kopii zapasowej Borg

To jest fork projektu https://github.com/FiaasCo/borgbackup, który został pierwotnie napisany przez Luca Stroobanta i Dietera Verhelsta. Ten fork jest utrzymywany przez Tag1 Consulting, Inc.

Ta rola instaluje kopie zapasowe Borg na serwerach i klientach borgbackup. Zawiera skrypt powłoki 'borg-backup', aby ułatwić korzystanie na kliencie. Obsługiwane opcje to: borg-backup info | init | list | backup | mount. Jeśli zainstalowano, Automysqlbackup uruchomi się jako polecenie przed kopiowaniem zapasowym. Rola wspiera zarówno hostowane lokalnie, jak i zdalne miejsce przechowywania kopii zapasowych, takie jak rsync.net i hetzner storage box jako serwer Borg.

Możliwe jest skonfigurowanie repozytoriów tylko do dopisywania, aby zabezpieczyć kopie zapasowe przed usunięciem z klienta.

Do uruchomienia tej roli wymagana jest wersja Ansible 2.4 lub wyższa.

Ansible Galaxy

Ta rola to tag1consulting.borgbackup na Ansible Galaxy. Aby użyć tego w playbooku, dodaj poniższe do swojego pliku requirements.txt:

# https://github.com/tag1consulting/ansible-role-borgbackup
- src: "tag1consulting.borgbackup"

Wymagane zmienne

Zdefiniuj grupę borgbackup_servers w swoim inwentarzu z jednym lub wieloma hostami. Grupa borgbackup_management jest konieczna tylko wtedy, gdy chcesz włączyć tryb tylko do dopisywania i wygaszać kopie zapasowe z bezpiecznych hostów.

[borgbackup_servers]
backup1.fiaas.co

[borgbackup_management]
supersecurehost

Zdefiniuj zmienne grupowe lub hostowe dla swoich punktów końcowych kopii zapasowych i przechowywania:

borgbackup_servers:
  - fqdn: backup1.fiaas.co
    user: borgbackup
    type: normal
    home: /backup/
    pool: repos
    options: ""
  - fqdn: yourhost.rsync.net
    user: userid
    type: rsync.net
    home: ""
    pool: repos
    options: "--remote-path=borg1"
  - fqdn: username.your-storagebox.de
    user: username
    type: hetzner
    home: ""
    pool: repos
    options: ""


borgbackup_retention:
  hourly: 12
  daily: 7
  weekly: 4
  monthly: 6
  yearly: 1

OSTRZEŻENIE: ukośnik / w item.home jest wymagany.

Zdefiniuj borg_passphrase dla każdego hosta. host_vars\client1:

borgbackup_passphrase: Ahl9EiNohr5koosh1Wohs3Shoo3ooZ6p

Domyślnie rola tworzy zadanie cron w /etc/cron.d/borg-backup uruchamiane jako root codziennie o losowej godzinie między 0 a 5 rano w losowej minucie. Nadpisz ustawienia domyślne w razie potrzeby:

borgbackup_client_user: root
borgbackup_cron_day: "*"
borgbackup_cron_minute: "{{ 59|random }}"
borgbackup_cron_hour: "{{ 5|random }}"

Nadpisz borgbackup_client_user w razie potrzeby, na przykład, jeśli masz laptopa z zaszyfrowanym katalogiem domowym - będziesz musiał uruchomić kopię zapasową jako użytkownik tego katalogu.

Ustaw borgbackup_appendonly: True w zmiennych hosta lub grupy, jeśli chcesz repozytoria tylko do dopisywania. W takim przypadku możliwe jest zdefiniowanie nazwy hosta w borgbackup_management_station, gdzie skonfigurowany będzie skrypt „borg prune”. Tylko stacja zarządzająca będzie miała uprawnienia do wygaszania starych kopii zapasowych dla (wszystkich) klientów. To wygeneruje serwer z opcjami klucza ssh --append-only. Jeśli ustawisz borgbackup_appendonly_repoconfig na True, to również wyłączy możliwość usuwania kopii zapasowych z stacji zarządzającej. (Lub przynajmniej: nie będzie można ich usunąć, dopóki nie skonfigurujesz ponownie repozytorium, co obecnie nie jest obsługiwane w skrypcie wygaszania). Pamiętaj o ograniczeniach trybu tylko do dopisywania: usunięte kopie zapasowe mogą wydawać się usunięte, ale są usuwane tylko w dzienniku transakcji, dopóki coś nie zapisze w normalnym trybie w repozytorium.

Upewnij się, że sprawdziłeś skonfigurowane domyślne ustawienia dla tej roli, które zawierają listę domyślnych lokalizacji kopiowanych w backup_include. Nadpisz to w swoim inwentarzu w razie potrzeby.

Instalacja Borg z pakietu EPEL

Borg można zainstalować z pakietu EPEL, ustawiając zmienną:

borgbackup_install_from_pkg: true

Repozytorium EPEL musi być dostępne, aby to się powiodło. Aby zainstalować repozytorium EPEL, korzystając z roli geerlingguy.repo-epel, ustaw:

borgbackup_install_epel: true

Użycie

Skonfiguruj Borg na serwerze i kliencie:

ansible-playbook -i inventory/test backup.yml -l backup1.fiaas.co
ansible-playbook -i inventory/test backup.yml -l client1.fiaas.co

Dalsze czytanie

O projekcie

Install Borg backup server and client (with rsync.net server support)

Zainstaluj
ansible-galaxy install tag1consulting.borgbackup
Licencja
mit
Pobrania
2.1k
Właściciel