notmycloud.proxmox_backup_client

Cliente de Respaldo de Proxmox con Ansible

Este rol instalará y configurará el Cliente de Respaldo de Proxmox en un sistema operativo basado en Debian. Encuentra la documentación del Cliente de Respaldo de Proxmox aquí: Cliente de Respaldo de Proxmox.

Variables

Variable Requerido Por defecto Descripción
proxmox_backup Diccionario que contiene tu configuración para este rol
.server Diccionario que contiene la información de conexión para tu Servidor de Respaldo de Proxmox.
.server.user Nombre de usuario para acceder al PBS, ej. backup@pbs
.server.pass Contraseña o Token para el nombre de usuario proporcionado.
.server.host Nombre de host/FQDN/IP del PBS.
.server.datastore Almacenamiento donde se guardarán los respaldos.
.server.port No 8007 Puerto personalizado de la API del PBS.
.server.fingerprint No Huella digital del certificado del servidor, encontrado en el panel de control.
.client Diccionario que contiene la configuración del cliente para el PBC.
.client.archives Array de elementos a respaldar.
.client.archives.name Nombre del archivo de respaldo a cargar, no puede tener el carácter '/'.
.client.archives.path Ruta para el respaldo.
.client.archives.format Tipos comunes son .pxar para archivos de respaldo y .img para imágenes de dispositivos de bloque.
.client.encrypt No Diccionario que contiene la configuración de cifrado del lado del cliente.
.client.encrypt.enable No Habilitar o deshabilitar el cifrado del lado del cliente.
.client.encrypt.pass No Contraseña para la clave de cifrado, si está protegida por contraseña.
.client.encrypt.key ~/.config/proxmox-backup/encryption-key.json Ruta para almacenar la clave de cifrado.
.client.encrypt.master No Ruta al archivo local master-public.pem para copiar al cliente.
.client.output No Diccionario que contiene las opciones de formato de logging en stdout.
.client.output.format No texto Valores posibles son texto, json, json-pretty.
.client.output.border No Si se establece, no renderizará bordes en la tabla.
.client.output.header No Si se establece, no renderizará encabezados de tabla.
.client.include_devices No Array de puntos de montaje a incluir, los MP son omitidos por defecto.
.client.skip_lost_found No No Omitir directorios perdidos+encontrados.
.client.schedule.calendar No '--* 4:00:00' Cadena OnCalendar de Systemd Timer, por defecto 4 am diario.
.client.schedule.runifmissed No No Activar servicio si se perdió la última hora de inicio.
.client.exclude No Array que contiene configuraciones para archivos .pxarexclude.
.client.exclude[#].path Ruta del archivo .pxarexclude (Carpeta principal).
.client.exclude[#].enabled Crear el archivo de exclusión, eliminar si no.
.client.exclude[#].rules Array de reglas de exclusión, puede incluir una inclusión explícita.

Por defecto

default_config:
  client:
    encrypt:
      enable: false
      key: ~/.config/proxmox-backup/encryption-key.json
    output:
      format: texto
    skip_lost_found: no
    schedule:
      calendar: '*-*-* 4:00:00' # Diario a las 4 am
      runifmissed: no

Ejemplos

Variables de Grupo a Nivel Global (formato 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

Variables a Nivel de Host (formato 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*

Combinar configuración de grupo con configuraciones de host

pbs_global_client es una variable de grupo global.
pbs_client es una variable de host.
combine(pbs_client, recursive=true) combinará diccionarios. El diccionario dentro de la combinación tendrá prioridad sobre el diccionario pasado. Puede encadenarse.

    # Combinar los arrays para que uno no sobrescriba al otro.
  - 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: Configurar Cliente de Respaldo de Proxmox
    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) }}"
Acerca del proyecto

Ansible role to install and configure the Proxmox Backup Client.

Instalar
ansible-galaxy install notmycloud.proxmox_backup_client
Licencia
mit
Descargas
320
Propietario