一、先准备两台CentOS服务器,假定是

1.172.18.2.225(服务端) 需要配置rsyncd.conf文件

2.172.18.2.227(客户端) 不需要配置rsyncd.conf文件

二、先给两台服务器安装rsync: yum -y install rsync

三、配置文件

1.rsync主要分为三个配置文件,分别是:

(1)rsyncd.conf              -- 主配置文件

(2)rsyncd.secrets         -- 密码文件

(3)rsyncd.motd             -- 服务器信息文件

2.服务端配置步骤如下:

[root@localhost1  ~]#  mkdir /etc/rsyncd

[root@localhost1  ~]#  touch /etc/rsyncd/rsyncd.conf

[root@localhost1  ~]#  touch /etc/rsyncd/rsyncd.secrets

[root@localhost1  ~]#  chmod 600 /etc/rsyncd/rsyncd.secrets

[root@localhost1  ~]#  touch /etc/rsyncd/rsyncd.motd

修改主配置文件: vi  /etc/rsyncd/rsyncd.conf

1 uid = root                                     #运行 rsync 守护进程的用户
 2 
 3 gid = root                                     #运行 rsync 守护进程的组
 4 
 5 use chroot = no     #若为yes, 则需要root权限,并且在同步符号连接资料时只会 同步名称不会同步内容。
 6 
 7 max connections = 5                    #设置并发连接数,0表示无限制
 8 
 9 strict modes = yes                        #是否检查口令文件的权限
10 
11 port = 873                             #端口,873为 rsync 默认端口
12 
13 pid file = /var/run/rsyncd.pid         #PID文件路径
14 
15 lock file = /var/run/rsync.lock        #锁文件路径
16 
17 log file = /var/log/rsyncd.log          #日志文件路径
18 
19  
20 
21 #自定义模块名。模块是定义服务器哪个目录要被同步。格式:[name]
22 
23 [backup]                                                                  
24 
25 path=/demo                                 #同步目录的路径通过path指定
26 
27 comment = This is a backup                        #定义注释说明的内容
28 
29 ignore errors                                           #忽略一些IO错误
30 
31 read only = yes       #是否允许客户端上传数据(双向同步),yes表示不允许  
32 
33 list = no     #客户端请求显示模块列表时,本模块名称是否显示,默认为yes(true)
34 
35 hosts allow = 172.18.2.227  127.0.0.1      #设置哪些主机可以同步数据,多ip和 网段之间使用空格分隔
36 
37 auth users = test                    #设置允许连接服务器的账户(自定义命名)
38 
39 secrets file = /etc/rsyncd/rsyncd.secrets                #密码验证文件名和路径

 

 

修改密码验证文件:

echo "test:password" > /etc/rsyncd/rsyncd.secrets

 

启动rsync服务:

rsync --daemon --config=/etc/rsyncd/rsyncd.conf

使用指令

设置开机启动

echo "rsync --daemon --config=/etc/rsyncd/rsyncd.conf" >> /etc/rc.local

 

3.客户端配置步骤如下:

(1)创建密码文件:

touch /etc/rsyncd.secrets

(2)在密码文件中加入服务端插入到密码验证文件中的密码,并控制权限:

echo "password" >  /etc/rsyncd.secrets

chmod 600 /etc/rsyncd.secrets

(3)启动服务并同步:

rsync -avzP --delete --progress test@172.18.2.225::backup --password-file=/etc/rsyncd.secrets  /usr/backup(客户端拉取远程服务器指定目录文件)

 

格式为,rsync -avzP --delete --progress 密码文件中的用户名@服务端ip::服务端配置文 件中的模块名 ----password-file=客户端密码文件路径 同步文件夹的路径,执行这一步 命令前可以在服务端指定/demo文件下下加一些文件,然后再执行,执行之后到客户端 的/usr/backup/下查看是否有文件同步过来。

 

rsync -avz /opt/shells/* root@172.18.2.227:/opt/shells/(服务端推送指定文件目录到客户端)

 

 

 

 

 

-v, --verbose详细模式输出。

-a, --archive归档模式,表示以递归方式传输文件,并保持所有文件属性不变。

-z, --compress对备份的文件在传输时进行压缩处理。

--delete:删除那些DST中存在而在SRC中没有的文件。