当前位置: 首页 > article >正文

rsync 备份 clickhouse

raync 备份 clickhouse 到远程主机
📌 使用 rsync 备份 ClickHouse 数据到远程主机
ClickHouse 的数据通常存储在 /var/lib/clickhouse/ 目录下,如果你想将 ClickHouse 数据备份到远程主机,可以使用 rsync。
✅ 1. rsync 备份 ClickHouse 数据

rsync -avz --progress --delete /var/lib/clickhouse/ user@remote_host:/backup/clickhouse/

🔹 参数解释:

-a:归档模式,保留权限、时间戳、符号链接等(相当于 -rlptgoD)。
-v:显示详细信息。
-z:压缩数据,提高传输效率。
–progress:显示进度。
–delete:同步删除远程已删除的文件(可选)。
/var/lib/clickhouse/:本机 ClickHouse 数据目录。
user@remote_host:/backup/clickhouse/:远程主机的备份目录。
🚀 示例(远程主机 IP 为 192.168.1.100,用户名为 backup):

rsync -avz --progress /var/lib/clickhouse/ backup@192.168.1.100:/backup/clickhouse/

✅ 2. 仅备份 store/ 目录(数据表)
ClickHouse 主要的表数据存储在 store/ 目录,你也可以仅备份该目录:

rsync -avz --progress /var/lib/clickhouse/store/ backup@192.168.1.100:/backup/clickhouse/store/

✅ 3. 仅备份 metadata/(表结构)
ClickHouse 表结构 存储在 /var/lib/clickhouse/metadata/ 目录:

rsync -avz --progress /var/lib/clickhouse/metadata/ backup@192.168.1.100:/backup/clickhouse/metadata/

✅ 4. 计划任务定期备份
如果你希望每天凌晨 2 点自动备份 ClickHouse 数据到远程主机,可以添加 crontab 任务:

crontab -e
0 2 * * * rsync -avz --progress /var/lib/clickhouse/ backup@192.168.1.100:/backup/clickhouse/

✅ 5. 使用 rsync 增量备份
如果你想使用 增量备份(仅传输新数据),可以加上 --link-dest 选项:

rsync -avz --progress --delete --link-dest=/backup/clickhouse/latest /var/lib/clickhouse/ backup@192.168.1.100:/backup/clickhouse/$(date +\%F)/
ln -sfn /backup/clickhouse/$(date +\%F) /backup/clickhouse/latest

这样每次备份只会存储增量数据,但可以恢复完整的数据。
✅ 6. 备份 ClickHouse 并压缩

rsync -avz /var/lib/clickhouse/ backup@192.168.1.100:/backup/clickhouse/ && tar -czvf /backup/clickhouse.tar.gz /backup/clickhouse/

这将:
先 rsync 备份数据到远程主机
再使用 tar 打包 gzip 压缩备份文件
📌 总结
操作 命令
完整备份 ClickHouse

rsync -avz --progress /var/lib/clickhouse/ backup@remote_host:/backup/clickhouse/

仅备份 store/(数据表)

rsync -avz --progress /var/lib/clickhouse/store/ backup@remote_host:/backup/clickhouse/store/

仅备份 metadata/(表结构)

rsync -avz --progress /var/lib/clickhouse/metadata/ backup@remote_host:/backup/clickhouse/metadata/

增量备份

rsync -avz --progress --link-dest=/backup/clickhouse/latest /var/lib/clickhouse/ backup@remote_host:/backup/clickhouse/$(date +\%F)/

自动定时备份 crontab -e 添加

0 2 * * * rsync -avz --progress /var/lib/clickhouse/ backup@remote_host:/backup/clickhouse/

🚀 推荐使用 rsync 进行增量备份,并结合 crontab 实现自动定期备份! 🎯
警告
备份完成后,如果想用这个备份数据直接启动新的 clickhouse 需要删除 store 目录下的空目录(因为在备份过程中源 clickhouse 如果是启动状态就会有空目录被备份)

find /tmp/test -type d -empty -delete

http://www.kler.cn/a/589271.html

相关文章:

  • 【AI论文】MM-Eureka:基于规则的大规模强化学习探索视觉“啊哈”时刻
  • P1591 阶乘数码
  • 12.16some pro about py model
  • 微软.NET框架下通信技术理解与实践
  • STM32U575RIT6单片机(二)
  • 机器学习扫盲系列(1) - 序
  • 【leetcode hot 100 114】二叉树展开为链表
  • uniapp-x 之useAttrs只读
  • C++ std::list超详细指南:基础实践(手搓list)
  • 【CSS】二、浏览器调试与文字样式
  • 计算机网络笔记再战——理解几个经典的协议HTTP章4
  • Excel(函数篇):COUNTIF与CONUTIFS函数、SUMIF与SUMIFS函数、ROUND函数、MATCH与INDEX函数、混合引用与条件格式
  • 使用 Theos 开发 iOS 应用(IPA)记事本
  • 【NLP】 6. 词向量的可变性及其影响
  • DeepSeek本地部署 (Windows+Ollama+Docker Desktop+ RAGFlow)
  • VSTO(C#)Excel开发10:启动和卸载顺序 事件处理 监视变化
  • 蓝桥杯备考:模拟+堆 ---接水问题
  • Unity 封装一个依赖于MonoBehaviour的计时器(下) 链式调用
  • 【新人系列】Golang 入门(五):集合类型 - 下
  • Docker系列——从零开始打包FunASR的Http服务