aalaesar.backup_nextcloud

Status Ansible-lint Status YAML-lint

backup_nextcloud

To rola Ansible, która tworzy kopię zapasową serwera Nextcloud. Kopia zapasowa jest przechowywana na serwerze (chyba że pobierzesz ją).

Wymagania

Rola wymaga, aby następujące narzędzia były dostępne na hoście:

  • tar
  • gzip
  • rsync
  • klient MySQL lub PostgreSQL, jeśli baza danych musi być zrzucana.

Musisz mieć wystarczająco dużo miejsca na systemie plików docelowym, w zależności od rozmiaru twojego serwera Nextcloud.

Zmienne Roli

Lokalizacja serwera nextcloud

Rola musi wiedzieć, gdzie znajdują się pliki serwera, jak uzyskać do nich dostęp i gdzie przechować kopię zapasową.

nextcloud_backup_target_dir: "/opt/nextcloud_backups"
nextcloud_webroot: "/opt/nextcloud"
# nextcloud_data_dir: "/var/ncdata" # opcjonalne.
nextcloud_websrv_user: "www-data" # być może będziesz musiał to zmienić w zależności od właściciela plików nextcloud i systemu operacyjnego

Dostosowanie właściciela kopii zapasowej

Właściciela kopii zapasowej można dostosować. Może to być przydatne, gdy użytkownik wykonujący operację różni się od właściciela procesu nextcloud.

nextcloud_backup_owner: "www-data" # nazwa użytkownika, który będzie właścicielem w backup_target_dir oraz finalnym archiwum
nextcloud_backup_group: "www-data" # grupa użytkowników, która będzie właścicielem w backup_target_dir oraz finalnym archiwum

Dostosowanie nazwy kopii zapasowej

Nazwę kopii zapasowej można dostosować za pomocą

nextcloud_instance_name: "nextcloud" # identyfikator serwera
nextcloud_backup_suffix: "" # dodatkowe informacje na końcu nazwy archiwum
nextcloud_backup_format: "tgz" # rozszerzenie archiwum. użyj formatu wspieranego przez moduł archiwum (Wybory: bz2, gz, tar, xz, zip)

Lub możesz całkowicie zmienić ją, redefiniując

nc_archive_name: "{{ nextcloud_instance_name }}_nextcloud-{{ nc_status.versionstring }}_{{ ansible_date_time.iso8601_basic_short }}{{ nextcloud_backup_suffix }}"

Dostosowanie zawartości kopii zapasowej

Rola zawsze będzie:

  • wykonywać kopię zapasową konfiguracji serwera
  • tworzyć listę zainstalowanych i włączonych aplikacji (razem z numerami wersji)

Zakres kopii zapasowej można dostosować, włączając/wyłączając niektóre flagi zdefiniowane w domyślnych:

nextcloud_backup_download_server_archive: true
nextcloud_backup_app_data: true
nextcloud_backup_user: true
nextcloud_backup_database: true

Dostosowywanie archiwum serwera nextcloud w kopii zapasowej

Rola może pobrać odpowiednie archiwum serwera ze strony pobierania nextcloud i dodać je do archiwum kopii zapasowej. Można to włączyć, ustawiając zmienną: nextcloud_backup_download_server_archive.

Dostosowanie kopii zapasowej danych aplikacji

Możesz chcieć wykluczyć niektóre foldery app_data z kopii zapasowej. Jednak nie możesz wybrać konkretnej aplikacji do wykonania kopii zapasowej, co wymagałoby znajomości kodu aplikacji.

nextcloud_backup_app_data_exclude_folder:
  - preview

Domyślnie folder preview jest wykluczony z kopii zapasowej, ponieważ może być wyjątkowo duży.

Dostosowanie kopii zapasowej użytkowników

Możesz wykluczyć listę użytkowników z kopii zapasowej

nextcloud_backup_exclude_users: []

Możesz również zdecydować, czy włączyć kilka podfolderów, czy nie.

nextcloud_backup_user_files_trashbin: true
nextcloud_backup_user_files_versions: true
nextcloud_backup_user_uploads: true
nextcloud_backup_user_cache: true

Pobieranie kopii zapasowej z serwera na lokalny komputer

Możesz pobrać utworzoną kopię zapasową zdalnie, ustawiając te zmienne. OSTRZEŻENIE: użytkownik, którego używasz w Ansible, musi być ustawiony jako właściciel kopii zapasowej z powodu ograniczenia Ansible dotyczącego używania become z ansible.builtin.fetch.

nextcloud_backup_fetch_to_local: true
nextcloud_backup_fetch_local_path: "/local_path/nextcloud_backup"

Inne

Możesz pozostawić serwer w trybie konserwacji na końcu procesu, ustawiając na fałsz

nextcloud_exit_maintenance_mode: true

Zależności

Brak

Przykład Playbooka

Wykonywanie pełnej kopii zapasowej serwera nextcloud

- hosts: nextcloud
  roles:
    - role: aalaesar.backup_nextcloud

Wykonywanie częściowej kopii zapasowej tylko danych aplikacji

- hosts: nextcloud
  roles:
    - role: aalaesar.backup_nextcloud
  vars:
    nextcloud_backup_suffix: _only_app_data
    nextcloud_backup_user: false
    nextcloud_backup_database: false

Licencja

GPL-3.0

O projekcie

Create a backup of your nextcloud server with this ansible role

Zainstaluj
ansible-galaxy install aalaesar.backup_nextcloud
Licencja
agpl-3.0
Pobrania
695
Właściciel
Yet another DevOps. I just want things to become easier and faster, ... and understand how it works ! That's a lot of work ...