# centos rsync同步配置

目录

# 1.场景

A 192.168.1.6

B 192.168.1.180

要将 A 服务器的 /data 目录单向同步到 B 服务器的 /data 下。

# 2.配置

安装rsync

yum install rsync -y

我们将使用 rsync 的 daemon 方式来完成任务 登录到 A 服务器,执行

vim /etc/rsyncd.conf

编辑如下配置:

uid = root
gid = root
port = 873
max connections = 4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log



[data]
#指定同步路径
path = /data
ignore errors
#只读模式
read only = yes
list = no
#同步用户名
auth users = backup
secrets file = /etc/rsyncd.pwd

创建/etc/rsyncd.pwd :

vim /etc/rsyncd.pwd

编辑为:

#同步用户:rsync密码
backup:password123

保存退出,执行

chmod 600 /etc/rsyncd.pwd

启动 rsync 服务 执行

rsync --daemon

登录 B 服务器 ,执行

vim /etc/rsyncd.pwd

编辑为上面的rsync密码:

password123

保存退出,执行

chmod 600 /etc/rsyncd.pwd

好了,配置已经完成了,现在 A 服务器为服务端 B 服务器为客户端,现在就可以在 B 服务器上执行同步操作了

# 3.配置文件说明

uid = root #设置执行rsync的本地用户
gid = root #设置执行rsync的本地组
max connections = 4 #最大同时连接数
pid file = /var/run/rsyncd.pid #指定rsync服务进程的pid file
lock file = /var/run/rsync.lock #指定rsync服务端锁定文件log file = /var/log/rsyncd.log #指定rsync的log输出路径

[logs] #模块设定,可设置多个模块
path = /data/logs #同步文件的真实路径
ignore errors
read only = yes #是否只读
list = no
auth users = backup #身份验证用户。这不是系统用户,而是rsync服务自定的
secrets file = /etc/rsyncd.pwd #当前模块的密码文件

# 4.同步

登录 B 服务器,执行

rsync -avzP --password-file=/etc/rsyncd.pwd [email protected]::data  /data

# 5.开放防火墙端口

rsync的连接端口873可能会被iptables和云主机网络策略阻挡,需要开启。

配置iptables

vim /etc/sysconfig/iptables

增加

-A INPUT  -p tcp -m tcp --dport 873 -m state --state NEW,ESTABLISHED -j ACCEPT

重启iptables

service iptables restart

# 6.rsync参数

下面是 rsync 的语法说明:
rsync [-avrlptgoD] [-e ssh] [user@host:/dir] [/local/path]
-v :观察模式,可以列出更多的信息;
-q :与 -v 相反,安静模式,输出的信息比较少;
-r :递归复制!可以针对『目录』来处理!很重要!
-u :仅更新 (update),不会覆盖目标的新档案;
-l :复制连结文件的属性,而非连结的目标源文件内容;
-p :复制时,连同属性 (permission) 也保存不变!
-g :保存源文件的拥有群组;
-o :保存源文件的拥有人;
-D :保存源文件的装置属性 (device)
-t :保存源文件的时间参数;
-I :忽略更新时间 (mtime) 的属性,档案比对上会比较快速;
-z :加上压缩的参数!
-e :使用的信道协议,例如使用 ssh 通道,则 -e ssh
-a :相当于 -rlptgoD ,所以这个 -a 是最常用的参数了!
Last Updated: 3/20/2023, 5:01:24 PM