clickhouse冷备份

clickhouse 冷备份

采用rysnc的工作模式为:不同机器的操作利用远程机器 rsync 程序 拷贝本地内容到远程机器

# 针对该模式的命令样例
rsync -av /data/clickhouse  user@remoteip::clickhouse

# 实际操作中rsync客户端命令如下
rsync --port=10000 --bwlimit=10240 --progress -avz --password-file=/etc/rsync.pass /mnt/disks/2/data/ rsyncuser@10.176.6.24::clickhouse

1 配置rsync服务端(gcp新开备份机器上-192.168.1.10)、普通用户 ci-user 启动rsync

1.1 创建与 rsync 程序有关的目录

[ci-user@clickhouse-backup-test01 ~]$ mkdir -p /home/ci-user/rsyncd/{log,run,etc}

1.2 配置 /etc/rsyncd.conf 文件

[ci-user@clickhouse-backup-test01 ~]$ cat >> /etc/rsyncd.conf <<eof
# /etc/rsyncd: configuration file for rsync daemon mode

# See rsyncd.conf man page for more options.

# configuration example:

# uid = nobody
# gid = nobody
# use chroot = yes
# max connections = 4
# pid file = /var/run/rsyncd.pid
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

# [ftp]
#        path = /home/ftp
#        comment = ftp export area


use chroot = no
max connections = 0
ignore errors
exclude = lost+found/
log file = /home/ci-user/rsyncd/log/rsyncd.log
pid file = /home/ci-user/rsyncd/run/rsyncd.pid
lock file = /home/ci-user/rsyncd/run/rsyncd.lock
reverse lookup = yes
port = 10000       # default 873 root start
[clickhouse]
path = /data01/dev8-ck-backup/data
comment = clickhouse-backup
read only = false
auth users = rsyncuser
secrets file = /home/ci-user/rsyncd/etc/rsync.pass
eof

1.3 创建 /home/ci-user/rsyncd/etc/rsync.pass 文件,并修改权限为 600

[ci-user@clickhouse-backup-test01 ~]$ echo "rsyncuser:clickhouse" >/home/ci-user/rsyncd/etc/rsync.pass

[ci-user@clickhouse-backup-test01 ~]$ chmod 600 /home/ci-user/rsyncd/etc/rsync.pass

1.4 修改 path 的路径的所属主和所属组为普通用户 ci-user

chown -R ci-user:ci-user /data01/dev8-ck-backup/data

1.5 启动 rsync 程序,默认读取 /etc/rsyncd.conf 文件

rsync --daemon

1.6 查看端口 10000 是否出于监听状态

netstat -lntp |grep 10000

2 rsync 客户端(clickhouse数据库机器-192.168.1.11)

2.1 查看要备份到远程的目录所属的组 input ,把ck数据库机器执行命令的普通用户加入该组

[calico@dev88 2]$ id calico
[calico@dev88 2]$ gpasswd -a calico input  # 该操作只会把该用户多添加到另一个组内,并不会把该用户从之前所在组内移除
[calico@dev88 2]$ id calico

2.2 创建 /etc/rsync.pass, 把 rsync 服务端设置的密码写进去

[calico@dev88 2]$ echo clickhouse > /etc/rsync.pass

2.3 启动 rsync 客户端命令,开始远程同步

rsync --port=10000 --bwlimit=10240 --progress -avz --password-file=/etc/rsync.pass /mnt/disks/2/data/ rsyncuser@192.168.1.10::clickhouse
# /mnt/disks/2/data/  这个路径data后面的 / 很重要,没有这个 / 会把 data 目录也拷贝过去,如果有了 /, 只会把data目录下的文件和目录拷贝过去 

2.4 定时任务执行

00 */2 * * * rsync --port=10000 --bwlimit=10240 --progress --delete -avz --password-file=/etc/rsync.pass /mnt/disks/2/data/ rsyncuser@192.168.1.10::clickhouse  >/home/yuatang/shutang/rsync.out 2>&1
# 标准输出 1 和 标准错误输出 都输出到文件/home/yuatang/shutang/rsync.out 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

觅食的蛇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值