专属
文档
插件
助手
邀请
顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单页面收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
clickhouse-backup

alexakulov/clickhouse-backup

alexakulov

用于轻松进行ClickHouse备份和恢复的工具,支持云存储,可创建、上传、下载、恢复备份,适用于Atomic数据库引擎和多磁盘安装,支持远程存储增量备份。

3 次收藏下载次数: 0状态:社区镜像维护者:alexakulov仓库类型:镜像最近更新:3 年前
让 AI 帮你使用轩辕镜像? · 展开查看说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

轩辕镜像,让镜像更快,让人生更轻。点击查看
中文简介
标签下载
镜像标签列表与下载命令
轩辕镜像,让镜像更快,让人生更轻。点击查看

clickhouse-backup

概述

clickhouse-backup是一款用于轻松实现ClickHouse数据库备份与恢复的工具,支持多种云存储服务。它提供了创建、上传、下载、恢复和删除备份等功能,适用于管理ClickHouse数据的备份策略,确保数据安全与可恢复性。

核心功能与特性

  • 支持创建和恢复所有或特定表的备份
  • 高效在文件系统上存储多个备份
  • 支持流式压缩的上传和下载
  • 兼容AWS S3、GCS、Azure Blob、腾讯云COS、FTP、SFTP等云存储服务
  • 支持Atomic数据库引擎
  • 支持多磁盘安装环境
  • 支持远程存储上的增量备份

限制

  • 仅支持ClickHouse 1.1.54390及以上版本
  • 仅支持MergeTree系列表引擎

安装

在安装了clickhouse-server的主机上运行:

shell
docker run -u $(id -u clickhouse) --rm -it --network host -v "/var/lib/clickhouse:/var/lib/clickhouse" \
   -e CLICKHOUSE_PASSWORD="password" \
   -e S3_BUCKET="clickhouse-backup" \
   -e S3_ACCESS_KEY="access_key" \
   -e S3_SECRET_KEY="secret" \
   alexakulov/clickhouse-backup --help

使用方法

命令概览

NAME:
   clickhouse-backup - 用于轻松实现ClickHouse备份与恢复的工具,支持云存储

USAGE:
   clickhouse-backup <command> [-t, --tables=<db>.<table>] <backup_name>

VERSION:
   unknown

DESCRIPTION:
   需以'root'或'clickhouse'用户运行

COMMANDS:
     tables          打印表列表
     create          创建新备份
     upload          将备份上传到远程存储
     list            打印备份列表
     download        从远程存储下载备份
     restore         创建架构并从备份恢复数据
     delete          删除特定备份
     default-config  打印默认配置
     freeze          冻结表
     clean           删除'shadow'文件夹中的数据
     server          运行API服务器
     help, h         显示命令列表或单个命令帮助

GLOBAL OPTIONS:
   --config FILE, -c FILE  配置文件路径(默认:"/etc/clickhouse-backup/config.yml")
   --help, -h              显示帮助
   --version, -v           打印版本

详细命令说明

  • tables: 列出所有可备份的表
  • create: 创建新备份,可通过--tables指定特定表
  • upload: 将本地备份上传到远程存储
  • list: 显示本地和远程存储中的备份列表
  • download: 从远程存储下载备份到本地
  • restore: 从备份恢复数据,可选择仅恢复架构或数据
  • delete: 删除本地或远程备份
  • server: 启动REST API服务器,提供备份管理接口

默认配置

配置文件路径可通过$CLICKHOUSE_BACKUP_CONFIG环境变量定义,所有配置项可通过环境变量覆盖。

yaml
general:
  remote_storage: s3             # 远程存储类型(环境变量:REMOTE_STORAGE)
  max_file_size: 1099511627776   # 最大文件大小(环境变量:MAX_FILE_SIZE)
  disable_progress_bar: false    # 禁用进度条(环境变量:DISABLE_PROGRESS_BAR)
  backups_to_keep_local: 0       # 本地保留备份数(环境变量:BACKUPS_TO_KEEP_LOCAL)
  backups_to_keep_remote: 0      # 远程保留备份数(环境变量:BACKUPS_TO_KEEP_REMOTE)
  log_level: info                # 日志级别(环境变量:LOG_LEVEL)
clickhouse:
  username: default                # ClickHouse用户名(环境变量:CLICKHOUSE_USERNAME)
  password: ""                     # ClickHouse密码(环境变量:CLICKHOUSE_PASSWORD)
  host: localhost                  # ClickHouse主机(环境变量:CLICKHOUSE_HOST)
  port: 9000                       # ClickHouse端口(环境变量:CLICKHOUSE_PORT)
  disk_mapping: {}                 # 磁盘映射(环境变量:CLICKHOUSE_DISK_MAPPING)
  skip_tables:                     # 跳过的表(环境变量:CLICKHOUSE_SKIP_TABLES)
    - system.*
  timeout: 5m                      # 超时时间(环境变量:CLICKHOUSE_TIMEOUT)
  freeze_by_part: false            # 按分区冻结(环境变量:CLICKHOUSE_FREEZE_BY_PART)
  secure: false                    # 启用TLS(环境变量:CLICKHOUSE_SECURE)
  skip_verify: false               # 跳过证书验证(环境变量:CLICKHOUSE_SKIP_VERIFY)
  sync_replicated_tables: true     # 同步复制表(环境变量:CLICKHOUSE_SYNC_REPLICATED_TABLES)
  skip_sync_replica_timeouts: true # 跳过同步副本超时(环境变量:CLICKHOUSE_SKIP_SYNC_REPLICA_TIMEOUTS)

azblob:
  endpoint_suffix: "core.windows.net" # Azure Blob端点后缀(环境变量:AZBLOB_ENDPOINT_SUFFIX)
  account_name: ""             # 账户名(环境变量:AZBLOB_ACCOUNT_NAME)
  account_key: ""              # 账户密钥(环境变量:AZBLOB_ACCOUNT_KEY)
  sas: ""                      # SAS令牌(环境变量:AZBLOB_SAS)
  container: ""                # 容器名(环境变量:AZBLOB_CONTAINER)
  path: ""                     # 路径(环境变量:AZBLOB_PATH)
  compression_level: 1         # 压缩级别(环境变量:AZBLOB_COMPRESSION_LEVEL)
  compression_format: tar      # 压缩格式(环境变量:AZBLOB_COMPRESSION_FORMAT)
  sse_key: ""                  # 服务器端加密密钥(环境变量:AZBLOB_SSE_KEY)
s3:
  access_key: ""                   # S3访问密钥(环境变量:S3_ACCESS_KEY)
  secret_key: ""                   # S3密钥(环境变量:S3_SECRET_KEY)
  bucket: ""                       # 存储桶名(环境变量:S3_BUCKET)
  endpoint: ""                     # 端点(环境变量:S3_ENDPOINT)
  region: us-east-1                # 区域(环境变量:S3_REGION)
  acl: private                     # ACL(环境变量:S3_ACL)
  force_path_style: false          # 强制路径样式(环境变量:S3_FORCE_PATH_STYLE)
  path: ""                         # 路径(环境变量:S3_PATH)
  disable_ssl: false               # 禁用SSL(环境变量:S3_DISABLE_SSL)
  part_size: 536870912             # 分块大小(环境变量:S3_PART_SIZE)
  compression_level: 1             # 压缩级别(环境变量:S3_COMPRESSION_LEVEL)
  # 支持'tar', 'gzip', 'zstd', 'brotli'
  compression_format: tar          # 压缩格式(环境变量:S3_COMPRESSION_FORMAT)
  # 空(默认)、AES256或aws:kms
  sse: AES256                      # 服务器端加密(环境变量:S3_SSE)
  disable_cert_verification: false # 禁用证书验证(环境变量:S3_DISABLE_CERT_VERIFICATION)
  storage_class: STANDARD          # 存储类别(环境变量:S3_STORAGE_CLASS)
gcs:
  credentials_file: ""         # GCS凭证文件(环境变量:GCS_CREDENTIALS_FILE)
  credentials_json: ""         # GCS凭证JSON(环境变量:GCS_CREDENTIALS_JSON)
  bucket: ""                   # 存储桶名(环境变量:GCS_BUCKET)
  path: ""                     # 路径(环境变量:GCS_PATH)
  compression_level: 1         # 压缩级别(环境变量:GCS_COMPRESSION_LEVEL)
  compression_format: tar      # 压缩格式(环境变量:GCS_COMPRESSION_FORMAT)
cos:
  url: ""                      # COS URL(环境变量:COS_URL)
  timeout: 2m                  # 超时时间(环境变量:COS_TIMEOUT)
  secret_id: ""                # 密钥ID(环境变量:COS_SECRET_ID)
  secret_key: ""               # 密钥(环境变量:COS_SECRET_KEY)
  path: ""                     # 路径(环境变量:COS_PATH)
  compression_format: tar      # 压缩格式(环境变量:COS_COMPRESSION_FORMAT)
  compression_level: 1         # 压缩级别(环境变量:COS_COMPRESSION_LEVEL)
api:
  listen: "localhost:7171"     # API监听地址(环境变量:API_LISTEN)
  enable_metrics: true         # 启用指标(环境变量:API_ENABLE_METRICS)
  enable_pprof: false          # 启用pprof(环境变量:API_ENABLE_PPROF)
  username: ""                 # API用户名(环境变量:API_USERNAME)
  password: ""                 # API密码(环境变量:API_PASSWORD)
  secure: false                # 启用TLS(环境变量:API_SECURE)
  certificate_file: ""         # 证书文件(环境变量:API_CERTIFICATE_FILE)
  private_key_file: ""         # 私钥文件(环境变量:API_PRIVATE_KEY_FILE)
ftp:
  address: ""                  # FTP地址(环境变量:FTP_ADDRESS)
  timeout: 2m                  # 超时时间(环境变量:FTP_TIMEOUT)
  username: ""                 # FTP用户名(环境变量:FTP_USERNAME)
  password: ""                 # FTP密码(环境变量:FTP_PASSWORD)
  tls: false                   # 启用TLS(环境变量:FTP_TLS)
  path: ""                     # 路径(环境变量:FTP_PATH)
  compression_format: tar      # 压缩格式(环境变量:FTP_COMPRESSION_FORMAT)
  compression_level: 1         # 压缩级别(环境变量:FTP_COMPRESSION_LEVEL)
  debug: false                 # 启用调试(环境变量:FTP_DEBUG)
sftp:
  address: ""                  # SFTP地址(环境变量:SFTP_ADDRESS)
  username: ""                 # SFTP用户名(环境变量:SFTP_USERNAME)
  password: ""                 # SFTP密码(环境变量:SFTP_PASSWORD)
  key: ""                      # SFTP密钥(环境变量:SFTP_KEY)
  path: ""                     # 路径(环境变量:SFTP_PATH)
  compression_format: tar      # 压缩格式(环境变量:SFTP_COMPRESSION_FORMAT)
  compression_level: 1         # 压缩级别(环境变量:SFTP_COMPRESSION_LEVEL)

注意事项

切勿修改/var/lib/clickhouse/backup目录中的文件权限。该路径包含硬链接,同一磁盘上的所有硬链接权限始终相同。若修改备份路径中硬链接的权限/所有者/属性,ClickHouse工作文件的权限也会随之改变,可能导致数据损坏。

API

通过clickhouse-backup server命令启动REST API服务器,API接口与CLI命令功能基本对应。

API端点

获取表列表

  • 请求: GET /backup/tables
  • 示例: curl -s localhost:7171/backup/tables | jq .

创建备份

  • 请求: POST /backup/create
  • 参数:
    • table: 指定表(如default.billing)
    • name: 备份名称
  • 示例: curl -s 'localhost:7171/backup/create?table=default.billing&name=billing_test' -X POST
  • 说明: 异步操作,API返回操作启动状态

上传备份

  • 请求: POST /backup/upload/<BACKUP_NAME>
  • 参数: diff-from: 基于增量备份的基准备份
  • 示例: curl -s localhost:7171/backup/upload/my_backup -X POST | jq .
  • 说明: 异步操作

获取备份列表

  • 请求: GET /backup/list
  • 示例: curl -s localhost:7171/backup/list | jq .
  • 说明: 本地备份不显示Size字段

下载备份

  • 请求: POST /backup/download/<BACKUP_NAME>
  • 示例: curl -s localhost:7171/backup/download/my_backup -X POST | jq .
  • 说明: 异步操作

恢复备份

  • 请求: POST /backup/restore/<BACKUP_NAME>
  • 参数:
    • table: 指定表
    • schema: 仅恢复架构
    • data: 仅恢复数据
  • 示例: curl -s 'localhost:7171/backup/restore/my_backup?table=default.billing' -X POST | jq .

删除备份

  • 删除远程备份: POST /backup/delete/remote/<BACKUP_NAME>
  • 删除本地备份: POST /backup/delete/local/<BACKUP_NAME>
  • 示例: curl -s localhost:7171/backup/delete/local/my_backup -X POST | jq .

冻结表

  • 请求: POST /backup/freeze
  • 示例: curl -s localhost:7171/backup/freeze -X POST | jq .

清理shadow文件夹

  • 请求: POST /backup/clean
  • 示例: curl -s localhost:7171/backup/clean -X POST | jq .

获取操作状态

  • 请求: GET /backup/status
  • 示例: curl -s localhost:7171/backup/status | jq .

API配置管理

获取当前配置

  • 请求: GET /backup/config
  • 示例: curl -s localhost:7171/backup/config | jq -r .Result > current_config.yml

获取默认配置

  • 请求: GET /backup/config/default
  • 示例: curl -s localhost:7171/backup/config/default | jq -r .Result > default_config.yml

更新配置

  • 请求: POST /backup/config
  • 示例: curl -v localhost:7171/backup/config -X POST --data-binary '@new_config.yml'
  • 说明: 需检查返回码确认配置解析/验证是否成功

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 clickhouse-backup 镜像标签

docker pull docker.xuanyuan.run/alexakulov/clickhouse-backup:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull alexakulov/clickhouse-backup:<标签>

更多 clickhouse-backup 镜像推荐

altinity/clickhouse-backup logo

altinity/clickhouse-backup

altinity
暂无描述
100万+ 次下载
10 天前更新

查看更多 clickhouse-backup 相关镜像

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

需要其他帮助?请查看我们的 常见问题 Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

免费版与专业版区别

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

排错

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

DNS 超时

DNS 解析 · 网络超时

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
alexakulov/clickhouse-backup
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
教程轩辕镜像功能与使用教程
安装一键安装 Docker 并配置镜像源
官方公众号:源码跳动|官方技术交流群:13763429
官方公众号:源码跳动|官方技术交流群:|问题咨询请:提交工单
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.