kimdre.hcloud-backup

GitHub Release

Ansible 角色: kimdre.hcloud-backup

Ansible 角色用于在 Hetzner Cloud 中创建和轮换服务器的备份和快照。

要求

  • Ansible 2.15 或更高版本

角色变量

api_token

Hetzner Cloud API token。

示例

api_token: "你的-hcloud-token"

也可以设置为环境变量 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 设置为 snapshotrotate_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-token"
        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.hcloud-backup
许可证
apache-2.0
下载
2k
拥有者
DevOps engineer and linux admin, also a mountainbike enthusiast! 🚵‍♂️ Founder of @Maki-IT.