一、先准备两台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中没有的文件。