proxmox_backup_client

Ansible-Proxmox-Backup-Client

Эта роль устанавливает и настраивает Proxmox Backup Client на операционной системе на базе Debian. Документацию по Proxmox Backup Client можно найти здесь: Proxmox Backup Client.

Переменные

Переменная Обязательная По умолчанию Описание
proxmox_backup Да Словарь, содержащий вашу конфигурацию для этой роли
.server Да Словарь, содержащий информацию для подключения к вашему Proxmox Backup Server.
.server.user Да Имя пользователя для доступа к PBS, например, backup@pbs
.server.pass Да Пароль или токен для указанного имени пользователя.
.server.host Да Имя хоста/FQDN/IP вашего PBS.
.server.datastore Да Хранилище для хранения резервных копий.
.server.port Нет 8007 Пользовательский порт API PBS.
.server.fingerprint Нет Отпечаток сертификата сервера, который можно найти на панели управления.
.client Да Словарь, содержащий конфигурацию клиента для PBC.
.client.archives Да Массив элементов для резервного копирования.
.client.archives.name Да Имя файла архива для загрузки, не может содержать символ '/' .
.client.archives.path Да Путь к резервной копии.
.client.archives.format Да Обычно используемые типы: .pxar для архивов файлов и .img для изображений блочных устройств.
.client.encrypt Нет Словарь, содержащий параметры шифрования на стороне клиента.
.client.encrypt.enable Да Нет Включить или отключить шифрование на стороне клиента.
.client.encrypt.pass Нет Пароль для ключа шифрования, если защищен паролем.
.client.encrypt.key Да ~/.config/proxmox-backup/encryption-key.json Путь для хранения ключа шифрования.
.client.encrypt.master Нет Путь к локальному master-public.pem для копирования на клиент
.client.output Нет Словарь, содержащий параметры форматирования логов stdout.
.client.output.format Нет text Возможные значения: text, json, json-pretty.
.client.output.border Нет Если установлено, не будет отображаться граница таблицы.
.client.output.header Нет Если установлено, не будет отображаться заголовок таблицы.
.client.include_devices Нет Массив точек монтирования для включения, точки монтирования по умолчанию пропускаются.
.client.skip_lost_found Нет Нет Пропустить директории lost+found.
.client.schedule.calendar Нет '--* 4:00:00' Строка OnCalendar для системных таймеров, по умолчанию каждый день в 4 утра.
.client.schedule.runifmissed Нет Нет Запустить сервис, если последнее время запуска было пропущено.
.client.exclude Нет Массив, содержащий параметры для файлов .pxarexclude.
.client.exclude[#].path Да Путь к файлу .pxarexclude (родительская папка).
.client.exclude[#].enabled Да Создать файл исключения, удалить, если нет.
.client.exclude[#].rules Да Массив правил исключения, может включать явное включение.

По умолчанию

default_config:
  client:
    encrypt:
      enable: false
      key: ~/.config/proxmox-backup/encryption-key.json
    output:
      format: text
    skip_lost_found: no
    schedule:
      calendar: '*-*-* 4:00:00' # Каждый день в 4 утра
      runifmissed: no

Примеры

Глобальные переменные группы (формат YAML).

pbs_global_server:
    user: backup@pbs
    pass: ProxmoxBackupPassword
    host: pbs.example.com
    datastore: backups
    fingerprint: 7f:f1:ee:...:3d:de:2b
pbs_global_client:
    skip_lost_found: yes
    exclude:
    - path: /
        rules:
        - /boot/*
        - /tmp/*
    - path: /var/
        rules: 
        - /run/*
        - /log/*.[0-9]
        - /log/*.[0-9].*
        - /log/**/*.[0-9]
        - /log/**/*.[0-9].*
    archives:
    - name: root
        path: /
        format: .pxar
    - name: boot
        path: /boot
        format: .pxar

Переменные уровня хоста (формат YAML).

pbs_client:
archives:
    - name: ssd
    path: /ssd
    format: .pxar
    - name: data
    path: /Data
    format: .pxar
exclude:
    - path: /ssd/qbit/
    rules:
        - /incomplete/*
    - path: /ssd/media/
    rules:
        - /_transcode/temp/*
        - /_transcode/log/*
        - /converted/*.jpg
        - /converted/*.mp4
        - /.Trash*

Объединение глобальных значений группы с переопределениями уровня хоста

pbs_global_client является переменной ALL group_var. pbs_client является переменной host_var. combine(pbs_client, recursive=true) объединит словари. Словарь внутри combine будет иметь приоритет над объединяемым словарем. Могут быть цепочки.

    # Объедините массивы, чтобы один не переопределял другой.
  - name: Merge PBS Client Arrays
    set_fact:
      pbs_client_merged:
          archives: "{{ pbs_global_client.archives + pbs_client.archives }}"
          exclude: "{{ pbs_global_client.exclude + pbs_client.exclude }}"
  
  - name: Setup Proxmox Backup Client
    include_role:
      name: proxmox-backup-client
    vars:
      proxmox_backup:
        server: "{{ pbs_global_server }}"
        client: "{{ pbs_global_client | combine(pbs_client, recursive=true) | combine(pbs_client_merged, recursive=true) }}"
О проекте

Ansible role to install and configure the Proxmox Backup Client.

Установить
ansible-galaxy install notmycloud/ansible-proxmox-backup-client
Лицензия
mit
Загрузки
304
Владелец