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: defaultpassword: ""host: localhostport: 9000disk_mapping: {}timeout: 5mfreeze_by_part: falsesecure: falseskip_verify: falsesync_replicated_tables: falselog_sql_queries: trueconfig_dir: /etc/clickhouse-server/restart_command: systemctl restart clickhouse-serverignore_not_exists_error_during_freeze: truetls_key: ""tls_cert: ""tls_ca: ""debug: falsesftp:address: ""port: 22username: "root"password: ""key: ""path: "/work/clickhouse/data/backup/" # 上传文件到远程服务器的路径compression_format: tarcompression_level: 1
第三步:配置docker-compose.yml:
version: '3.6'services:clickhouse-backup:container_name: clickhouse-backupimage: alexakulov/clickhouse-backup:1.4.2volumes:- /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-backupcreate -t 库名.表名 本地备份名#添加指定一个分区的备份docker-compose -f docker-compose.yml run --rm clickhouse-backup create -t 库名.表名 --partitions 分区1(如0101) 本地备份名#添加指定多个分区的备份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指令恢复备份