hcloud-backup

GitHub Release

Ansible Роль: kimdre.hcloud-backup

Ansible роль для создания и поворота резервных копий и снимков серверов в Hetzner Cloud.

Требования

  • Ansible 2.15 или новее

Переменные роли

api_token

API токен Hetzner Cloud.

Пример

api_token: "ваш-hcloud-токен"

Также может быть установлен как переменная окружения HCLOUD_TOKEN

Стандартные переменные

Смотрите hcloud-backup/defaults/main.yml для всех доступных переменных.

backup_type

Тип резервной копии для создания.

Возможные форматы:

  • snapshot обычно дешевле для небольших серверов и использует меньше дискового пространства, нет ограничений на количество создаваемых снимков.
  • backup должен быть включен для сервера, и можно создать только 7 резервных копий на сервер, прежде чем они будут заменены.

Значение по умолчанию

backup_type: snapshot

backup_description

Описание снимка/резервной копии.

Значение по умолчанию

backup_description: "{{ inventory_hostname }} {{ now(fmt='%Y-%m-%d %H:%M:%S') }}"

backup_labels

Список меток снимка/резервной копии.

Возможные форматы:

  • key: "value"
  • key: "" для меток без значения.

Значение по умолчанию

backup_labels:
    created_by: "ansible.hcloud-backup"
    created_at: "{{ now(fmt='%Y-%m-%d_%H-%M-%S') }}"
    host: "{{ inventory_hostname }}"
    rotation: "true"

label_selector

Список меток для идентификации снимков для ротации, должен совпадать с backup_labels.

Используется только когда backup_type установлен на snapshot.

Возможные форматы:

  • key: "value"
  • key: "" для меток без значения.

Значение по умолчанию

label_selector:
    created_by: ansible.hcloud-backup
    host: "{{ inventory_hostname }}"
    rotation: "true"

rotate_snapshots

Поворот снимков, если установлено true, самые старые найденные снимки будут удалены в зависимости от переменной keep_snapshots и количества существующих снимков.

Используется только когда backup_type установлен на snapshot.

Значение по умолчанию

rotate_snapshots: true

keep_snapshots

Количество снимков, которые следует сохранить, более старые снимки будут удалены.

Используется только когда backup_type установлен на snapshot и rotate_snapshots установлен на true.

Значение по умолчанию

keep_snapshots: 5

backup_check_retries

Количество попыток проверки создания резервной копии.

Значение по умолчанию

backup_check_retries: 40

backup_check_delay

Задержка в секундах между попытками проверки создания резервной копии.

Значение по умолчанию

backup_check_delay: 15

delegation

Хост для выполнения задач роли.

Значение по умолчанию

delegation: "{{ inventory_hostname }}"

Пример плейбука

- name: "Создать снимок хоста"
  hosts: '{{ target | default("all") }}'
  roles:
    - role: kimdre.hcloud-backup
      vars:
        api_token: "ваш-hcloud-api-токен"
        backup_type: "snapshot"
        keep_snapshots: 7

Лицензия

Apache-2.0

Автор

О проекте

Ansible role for Hetzner Cloud to create and rotate backups and snapshots of your servers

Установить
ansible-galaxy install kimdre/ansible.hcloud-backup
Лицензия
apache-2.0
Загрузки
552
Владелец
DevOps engineer and linux admin, also a mountainbike enthusiast! 🚵‍♂️ Founder of @Maki-IT.