nl2go.clickhouse_backup
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