使用rsync同步文件(service模式)

  |   0 评论   |   487 浏览

背景

前端时间为了做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


读后有收获可以支付宝请作者喝咖啡