nl2go.clickhouse_backup

构建状态 Ansible Galaxy Ansible Galaxy 质量评分 GitHub 标签(按日期最新) Ansible Galaxy 下载量

Ansible 角色:ClickHouse 备份

一个管理 ClickHouse 备份工具 安装和配置的 Ansible 角色。

角色变量

可用变量及其默认值列出在 defaults/main.yml 中。

依赖

无。

示例剧本

- hosts: all
  roles:
     - { role: nl2go.clickhouse_backup }
  vars:
    clickhouse_backup_version: 0.5.2
    clickhouse_backup_general_remote_storage: gcs
    clickhouse_backup_gcs_credentials_json: !vault |
      $ANSIBLE_VAULT;1.2;AES256;production
      1234xxx...
    clickhouse_backup_gcs_bucket: clickhouse-backup-bucket
    clickhouse_backup_gcs_path: "clickhouse"
    clickhouse_backup_clickhouse_host: "{{ ansible_default_ipv4.address }}"
    clickhouse_backup_clickhouse_password: 123SECURE

安装 cronjob 用于执行备份

此角色包含任务以自动设置 3 个定时任务(cron job),定期执行备份。通过设置变量 clickhouse_backup_install_crontab(默认为 true),可以控制这些 cron job 的安装。默认配置会设置每日、每周和每月的备份。每种备份类型在远程存储中保留的备份数量可以通过以下变量控制:

clickhouse_backup_general_backups_to_keep_remote_daily: 7
clickhouse_backup_general_backups_to_keep_remote_weekly: 4
clickhouse_backup_general_backups_to_keep_remote_monthly: 12

这里给出的数字是默认值。

开发

使用 docker-molecule 按照说明运行 Molecule 或者在本地安装 Molecule(不推荐,可能会出现版本冲突)。

提供 Hetzner Cloud 令牌:

export HCLOUD_TOKEN=123abc456efg

提供自定义或解密现有的 GCS 凭证文件:

export CI_FILE_SECRET=123
openssl aes-256-cbc -d \
    -in molecule/resources/clickhouse-backup-gcs-credentials.json.enc \
    -out molecule/resources/clickhouse-backup-gcs-credentials.json \
    -md sha256 \
    -k ${CI_FILE_SECRET}

使用以下命令运行测试:

molecule test --all

维护者

许可证

有关详细信息,请查看 LICENSE.md 文件。

作者信息

此角色由 Newsletter2Go GmbH 于 2020 年创建。

关于项目

An Ansible Role that manages installation and configuration of the ClickHouse backup tool clickhouse-backup

安装
ansible-galaxy install nl2go.clickhouse_backup
许可证
mit
下载
4.2k