使用rsync同步文件(service模式)
背景
前端时间为了做clickhouse的高可用,需要在节点之间同步数据,就顺便调研了下rsync
rsync本身有好几种服务模式,这里介绍service模式
步骤
服务端
安装rsync
yum install xinetd rsync -y
修改配置文件
vim /etc/rsyncd.conf # /etc/rsyncd: configuration file for rsync daemon mode # See rsyncd.conf man page for more options. # configuration example: uid = root gid = root port = 873 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 lock file = /var/run/rsyncd.lock log file = /var/log/rsync.log [ftp] path = /data1/clickhouse/data comment = ftp export area use chroot = no read only = yes write only = no list = no ignore errors = yes timeout = 120 auth users = ch secrets file = /etc/rsyncd.passwd
创建密码文件
格式为:<用户名:密码>
echo "ch:cxy7_pwd">>/etc/rsyncd.passwd
配置xinetd
xinetd开启rsync
注意可能没有这个文件,需要创建
vim /etc/xinetd.d/rsync # default: off # description: The rsyncserver is a good addition to an ftp server, as it \ # allows crc checksumming etc. service rsync { disable = no flags =IPv6 socket_type =stream wait = no user = root server =/usr/bin/rsync server_args =--daemon log_on_failure +=USERID }
启动xinetd
service xinetd restart
查看状态
[root@cxy7.com ~]# netstat -antp|grep 873 tcp6 0 0 :::873 :::* LISTEN 45466/xinetd [root@cxy7.com ~]#
客户端
安装rsync
yum install rsync -y
创建密码文件
只包含密码
echo "cxy7_pwd" > /etc/rsyncd.passwd chmod 600 /etc/rsyncd.passwd
创建同步文件夹
mkdir -p /data3/clickhouse/data
使用rsync命令同步
rsync -avzH --port=873 --delete --progress --password-file=/etc/rsyncd.passwd ch@192.168.31.4::ftp /data3/clickhouse/data
读后有收获可以支付宝请作者喝咖啡
