notmycloud.proxmox_backup_client

Ansible-Proxmox-备份客户端

这个角色将会在基于Debian的操作系统上安装和配置Proxmox备份客户端。 您可以在这里找到Proxmox备份客户端的文档。Proxmox Backup Client

变量

变量 必须 默认 描述
proxmox_backup 包含您此角色配置的字典
.server 包含您Proxmox备份服务器的连接信息的字典
.server.user 访问PBS的用户名,例如:backup@pbs
.server.pass 提供用户名的密码或令牌
.server.host PBS的主机名/FQDN/IP
.server.datastore 存储备份的存储库
.server.port 8007 PBS API的自定义端口
.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' Systemd定时器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是一个所有组变量。 pbs_client是主机变量。 combine(pbs_client, recursive=true)将合并字典。合并中的字典将优先于被管道传递的字典。可以链式操作。

    # 合并数组以免一个覆盖另一个
  - name: 合并PBS客户端数组
    set_fact:
      pbs_client_merged:
          archives: "{{ pbs_global_client.archives + pbs_client.archives }}"
          exclude: "{{ pbs_global_client.exclude + pbs_client.exclude }}"
  
  - name: 设置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) }}"
关于项目

Ansible role to install and configure the Proxmox Backup Client.

安装
ansible-galaxy install notmycloud.proxmox_backup_client
许可证
mit
下载
320
拥有者