码迷,mamicode.com
首页 > 其他好文 > 详细

10.32-10.35

时间:2018-03-28 18:55:14      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:rsync

10.32 rsync通过服务同步(上)


技术分享图片rsync 通过服务的方式同步

1开启服务

2客户端,

服务端 开启一个rsync服务

3 监听端口,默认端口873,端口可以 自定义 。开启端口后,客户端通过873与服务端进行通信,从而传输数据



启动服务之前 

要编辑配置文件/etc/rsyncd.conf

可以自定义路径,如果自定义路径后,需要加--config=路径


启动服务rsync --daemon

使用配置文件,执行#rsync --daemon 即可启动服务。

如果自定义路径的配置文件地址,需要#rsync --daemon--config=路径去执行启动


演示操作,加粗

技术分享图片

在A上把相应参数添加进去rsyncd.conf

#vi /etc/rsyncd.conf

技术分享图片

虽然上面已经有了数据,但是在vi里面#开头的数据相当于备注,不作为功能性参数使用。

所以直接添加数据即可。

启动服务

[root@centos7-01 ~]# rsync --demon

[root@centos7-01 ~]# ps aux |grep rsync

root      1796  0.0  0.0 114652   528 ?        Ss   16:10   0:00 rsync --daemon

root      1812  0.0  0.0 112676   980 pts/0    R+   16:11   0:00 grep --color=auto rsync


查看监听的端口及ip状态,

如果不写监听IP,地址会绑定0.0.0.0

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   


 

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1108/sshd          


 

tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1197/master        


 

tcp        0      0 192.168.189.128:873     0.0.0.0:*               LISTEN      1796/rsync         


 

tcp6       0      0 :::22                   :::*                    LISTEN      1108/sshd          


 

tcp6       0      0 ::1:25                  :::*                    LISTEN      1197/master        


 

服务端已经配置完毕,检查一下对应的路径。

此处把path=/root/rsync目录改成path=/tmp/rsync

然后做如下参数。

[root@centos7-01 tmp]# mkdir rsync

[root@centos7-01 tmp]# chmod 777 rsync

[root@centos7-01 tmp]# ls -ld rsync/

drwxrwxrwx 2 root root 6 3月  28 16:20 rsync/


在B上同步文件

 格式:rsync -av test1/ 192.168.133.130::module/dir/

以::为中心,前面是服务端的IP,后面是模块的名称


[root@centos7-02 ~]# rsync -avL /tmp/aming.txt 192.168.189.128::test/aming-02.txt

rsync: failed to connect to 192.168.189.128 (192.168.189.128): No route to host (113)

rsync error: error in socket IO (code 10) at clientserver.c(122) [sender=3.0.9]

遇到这种问题,首先需要检查网络连通性

1能ping通

2检查端口:#telnet 192.168.189.128 873 (格式:telnet IP 端口)

[root@centos7-02 ~]# telnet 192.168.189.128 873

Trying 192.168.188.128...

telnet: connect to address 192.168.189.128: Connection refused

端口不通,

检查iptables的规则,(太多数据,不一一列出),确实有问题,所以要把firewalld停掉。

[root@centos7-02 ~]# systemctl stop firewalld

同时把A上的firewalld停掉


[root@centos7-02 ~]# telnet 192.168.189.128 873

Trying 192.168.189.128...

Connected to 192.168.189.128.

Escape character is '^]'.

@RSYNCD: 30.0

q

@ERROR: protocol startup error

Connection closed by foreign host.

成功ping通,端口也通了(telnet退出,ctrl+u q退出)


[root@centos7-02 ~]# rsync -avL /tmp/aming.txt 192.168.189.128::test/aming-02.txt

Password: 

需要登录密码验证,如果取消密码验证,在A上修改rsyncd.conf验证参数即可。

#auth users=test

#secrets file=/etc/rsyncd.passwd


在B上同步文件操作,成功。

[root@centos7-02 ~]# rsync -avP /tmp/aming.txt 192.168.189.128::test/aming-02.txt

sending incremental file list

aming.txt

        1102 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/1)


sent 1175 bytes  received 27 bytes  2404.00 bytes/sec

total size is 1102  speedup is 0.92



在A上检查文件已被同步。

[root@centos7-01 tmp]# ls /tmp/rsync/

aming-02.txt


B上操作,远程到本地

[root@centos7-02 ~]# rsync -avP  192.168.189.128::test/aming-02.txt /tmp/123.txt

receiving incremental file list

aming-02.txt

        1102 100%    1.05MB/s    0:00:00 (xfer#1, to-check=0/1)


sent 45 bytes  received 1209 bytes  2508.00 bytes/sec

total size is 1102  speedup is 0.88


技术分享图片

rsyncd.conf配置文件详解 

 port:指定在哪个端口启动rsyncd服务,默认是873端口。

 log file:指定日志文件。

 pid file:指定pid文件,这个文件的作用涉及服务的启动、停止等进程管理操作。

 address:指定启动rsyncd服务的IP。假如你的机器有多个IP,就可以指定由其中一个启动rsyncd服务,如果不


指定该参数,默认是在全部IP上启动。

 []:指定模块名,里面内容自定义。

 path:指定数据存放的路径。

 use chroot true|false:表示在传输文件前首先chroot到path参数所指定的目录下。这样做的原因是实现额外


的安全防护,但缺点是需要以roots权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下


chroot值为true,如果你的数据当中有软连接文件,阿铭建议你设置成false。


假如把use chroot改成true 那么就会限制path指定的路径下。如果同步文件的软链接,此时文件的软链接指向


了path以外的路径,此时使用-L会把源文件同步过来,此时会有问题出错。


举例说明,

在A上操作

[root@centos7-01 rsync]# ln -s /etc/passwd ./12.txt

[root@centos7-01 rsync]# ls -l

总用量 4

lrwxrwxrwx 1 root root   11 3月  28 17:37 12.txt -> /etc/passwd

-rw-r--r-- 1 root root 1102 3月  20 21:12 aming-02.txt


B上同步目录

[root@centos7-02 ~]# rsync -avLP 192.168.189.128::test/ /tmp/test/

receiving incremental file list

symlink has no referent: "/12.txt" (in test)

./


sent 29 bytes  received 132 bytes  322.00 bytes/sec

total size is 1102  speedup is 6.84

rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1518) 


[generator=3.0.9]

出现报错信息。


查看日志

[root@centos7-01 rsync]# cat /var/log/rsync.log 

2018/03/28 09:39:38 [2366] symlink has no referent: "/12.txt" (in test)


在A上修改use chroot=false

#sed -i 's/use chroot=true/use chroot=false/' /etc/rsyncd.conf

在B上同步,OK

[root@centos7-02 ~]# rsync -avLP 192.168.189.128::test/ /tmp/test/

receiving incremental file list

12.txt

        1102 100%    1.05MB/s    0:00:00 (xfer#1, to-check=1/3)


sent 45 bytes  received 1234 bytes  2558.00 bytes/sec

total size is 2204  speedup is 1.72


10.32-10.35

标签:rsync

原文地址:http://blog.51cto.com/13578154/2092124

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!