clickhouse-backup数据备份

clickhouse-backup安装和启动

第一步:拉取clickhouse-backup镜像

docker pull alexakulov/clickhouse-backup:1.4.7

第二步:新增/work/clickhouse-backup/config/config.yml配置文件

general:
  remote_storage: none  # 可选none/sftp  none-未开启sftp远程连接,sftp-上传/下载备份文件
  backups_to_keep_local: 10 #本地备份个数
  backups_to_keep_remote: 10 #远程备份个数
clickhouse:
  username: default
  password: ""
  host: localhost
  port: 9000
  disk_mapping: {}
  timeout: 5m
  freeze_by_part: false
  secure: false
  skip_verify: false
  sync_replicated_tables: false
  log_sql_queries: true
  config_dir: /etc/clickhouse-server/
  restart_command: systemctl restart clickhouse-server
  ignore_not_exists_error_during_freeze: true
  tls_key: ""
  tls_cert: ""
  tls_ca: ""
  debug: false
sftp:
  address: ""
  port: 22
  username: "root"
  password: ""
  key: ""
  path: "/work/clickhouse/data/backup/"   # 上传文件到远程服务器的路径
  compression_format: tar
  compression_level: 1

 第三步:配置docker-compose.yml:

version: '3.6'
services:
  clickhouse-backup:
    container_name: clickhouse-backup
    image: alexakulov/clickhouse-backup:1.4.2
    volumes:
      - /work/clickhouse/data:/var/lib/clickhouse  #/work/clickhouse/data为备份的clickhouse中/var/lib/clickhouse映射的文件夹
      - /work/clickhouse-backup/config/config.yml:/etc/clickhouse-backup/config.yml

第四步:启动clickhouse-backup

docker-compose -f docker-compose.yml run --rm clickhouse-backup

出现如下界面表示启动成功

clickhouse-backup常用指令总结

#查看所有备份
docker-compose -f docker-compose.yml run --rm clickhouse-backup  list
#查看可备份表
docker-compose -f docker-compose.yml run --rm clickhouse-backup tables
#添加备份
docker-compose -f docker-compose.yml run --rm clickhouse-backup create -t 库名.表名 本地备份名
#添加指定一个分区的备份
docker-compose -f docker-compose.yml run --rm clickhouse-backup create -t 库名.表名 --partitions 分区1(如20200101) 本地备份名
#添加指定多个分区的备份
docker-compose -f docker-compose.yml run --rm clickhouse-backup create -t 库名.表名 --partitions 分区1 --partitions 分区2 备份名
#删除备份
docker-compose -f docker-compose.yml run --rm clickhouse-backup delete local/remote 备份名
#恢复备份(仅结构)
docker-compose -f docker-compose.yml run --rm clickhouse-backup restore 本地备份名 --schema
#恢复备份(仅数据,只添加)
docker-compose -f docker-compose.yml run --rm clickhouse-backup restore 本地备份名 --data
#恢复备份(结构+数据)
docker-compose -f docker-compose.yml run --rm clickhouse-backup restore 本地备份名 --data --schema

clickhouse-backup异机备份

方法一:将备份/work/clickhouse/backup/下对应备份名的文件传至另一台服务器,可直接使用restore指令恢复备份

方法二:开启sftp

1、备份上传至远程服务器

docker-compose -f docker-compose.yml run --rm clickhouse-backup upload 本地备份名

此时远程服务器上出现remote的同名备份

2、远程服务器下载备份

docker-compose -f docker-compose.yml run --rm clickhouse-backup download 远程备份名

此时远程服务器上出现local和remote的同名备份

3、使用restore指令恢复备份

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值