xml地图|网站地图|网站标签 [设为首页] [加入收藏]

Rsync 文件同步详解

时间:2019-11-08 21:52来源:计算机
一:什么是rsync: Rsync是用来替代rcp的一个工具,他目前由rsync.samba.org维护,所以其配置文件和samba的配置文件很像。Rsync使用所谓的rsync算法,提供一个快速的文件传输方法是本地和远

一:什么是rsync:

Rsync是用来替代rcp的一个工具,他目前由rsync.samba.org维护,所以其配置文件和samba的配置文件很像。Rsync使用所谓的rsync算法,提供一个快速的文件传输方法是本地和远程主机的文件达到同步,由于他主要是传送2个文件的改动部分,而非每次都整份传送,因此速度相当快。

1.1 Rsync有那些特点:
可以镜像保存整个目录树和文件系统。
可以很容易做到保持原来文件的权限、时间、软硬链接等等。
可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
支持匿名传输,以方便进行网站镜象。
官网网站:

二:rsync的工作原理
 
1 首先备份主机会开启一个端口873,等待client来连接,连接的时候会检查密码是否复合,如果复合则开始传输文件。
2 第一次连接时会把整个文件传输过去,下次传输之传输改动的数据。
在实际工作中我们可以设置多个备份主机。备份过后,然后我们就可以进行tar,cpio等命令进行文件的归档了。 

三rsync的安装

首先去官网
[root@BackServer mnt]# tar zvxf rsync-3.0.9.tar.gz
[root@BackServer mnt]# cd rsync-3.0.9
[root@BackServerrsync-3.0.9]#./configure--prefix=/usr/local/rsync
[root@BackServer rsync-3.0.9]# make && make install
 
3.1 配置文件组成
rsync的主要有以下三个配置文件
奥门金沙手机娱乐网址 ,rsyncd.conf(主配置文件)
rsyncd.secrets(密码文件)
rsyncd.motd(rysnc服务器信息)
服务器配置文件(/etc/rsyncd.conf),该文件默认不存在,请创建它。
rsyncd.secrets(密码文件)格式很简单,默认文件也不存在,内容如下,用户名:密码
root:123com
        主要:需要给rsyncd.secrets 600权限,否则会报错。
 
配置文件说明
分区全局配置,和目录模块。
 //全局文件
pid file=/var/run/rsyncd.pid            //指定rsync的pid存放路径
port=873                                //指定rsync的端口,默认为873
address=192.168.18.128                  //指定rsync服务器地址
uid=root                                //运行rsync的用户
gid=root                                //运行rsync的用户组
use chroot=yes
read only=no
hosts allow=192.168.18.0/255.255.255.0          //准许访问的地址,多个地址的话空格隔开
hosts deny=*
max connections=5                                //准许的最大连接数
motd file=/etc/rsyncd.motd
log file=/var/log/rsync.log                      //日志存放目录
log format=%t %a %m %f %b                        //日志格式
syslog facility = local3
timeout = 300                                  //超过时间
 
//目录模块1
[client 1]
path=/home/client1                              //备份文件存放目录
list=yes                                      //准许列表显示
#ignore errors                                //忽略传输错误
auth users=root
secrets file=/etc/rsyncd.secrets              //密码文件存放目录
comment=this is client1 used                //描述
#exclude = easylife/ samba/
                  //忽略备份的目录
//目录模块2
[client 2]
path=/home/client1                              //备份文件存放目录
list=yes                                      //准许列表显示
#ignore errors                                //忽略传输错误
auth users=root
secrets file=/etc/rsyncd.secrets              //密码文件存放目录
comment=this is client2 used                //描述
#exclude = easylife/ samba/                  //忽略备份的目录
 
服务器端传输文件时,要发哪个用户和用户组来执行,默认是nobody。 如果用nobody 用户和用户组,可能遇到权限问题,有些文件从服务器上拉不下来。所以我就偷懒,为了方便,用了root 。不过您可以在定义要同步的目录时定义的模块中指定用户来解决权限的问题。use chroot = yes

3.2注意事项
          用chroot,在传输文件之前,服务器守护程序在将chroot 到文件系统中的目录中,这样做的好处是可能保护系统被安装漏洞侵袭的可能。缺点是需要超级用户权限。另外对符号链接文件,将会排除在外。也就是说,你在 rsync服务器上,如果有符号链接,你在备份服务器上运行客户端的同步数据时,只会把符号链接名同步下来,并不会同步符号链接的内容;这个需要自己来尝试 read only = yes
          read only 是只读选择,也就是说,不让客户端上传文件到服务器上。还有一个  write only选项,自己尝试是做什么用的吧;
#limit access to private LANs
  hosts allow=192.168.1.0/255.255.255.0 10.0.1.0/255.255.255.0
          在您可以指定单个IP,也可以指定整个网段,能提高安全性。格式是ip 与ip 之间、ip和网段之间、网段和网段之间要用空格隔开;
          motd file 是定义服务器信息的,要自己写 rsyncd.motd 文件内容。当用户登录时会看到这个信息。比如我写的是:
 ++++++++++++++++++++++++++++++++++++++++++++++
  Welcome to use the mike.org.cn rsync services!
          2002------2009
  ++++++++++++++++++++++++++++++++++++++++++++++
  
 3.3模块说明:
 模块定义什么呢?主要是定义服务器哪个目录要被同步。每个模块都要以[name]形式。这个名字就是在rsync 客户端看到的名字,其实有点象Samba服务器提供的共享名。而服务器真正同步的数据是通过path 指定的。我们可以根据自己的需要,来指定多个模块。每个模块要指定认证用户,密码文件、但排除并不是必须的

奥门金沙手机娱乐网址 1

编辑:计算机 本文来源:Rsync 文件同步详解

关键词:

  • 上一篇:没有了
  • 下一篇:没有了