目录
(1)rsync是Linux/Unix下的一个远程数据同步工具。它可以通过LAN/WAN快速同步多台主机间的文件和目录,并适当利用rsync算法(差分编码)以减少数据的传输。rsync算法并不是每一次都整份传输,而是只传输两个文件的不同部分,因此传输速度相当快。
(2)rsync能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输量。rsync可以拷贝/显示目录内容,以及拷贝文件,并可选压缩以及递归拷贝。
(3)在常驻模式(daemon mode)下,rsync默认监听TCP端口873,以原生rsync传输协议或者通过远程 shell 如RSH或者SSH提供文件。SSH模式下,rsync客户端运行程序必须同时在本地和远程机器上安装。
(1),客户端构造Filelist,Filelist包含了需要与服务器同步的所有文件信息对name→id(id用来唯一标识文件)
(2)客户端将Filelist发送到服务器。
(3)服务器上rsync处理客户端发过来的Filelist,构建新的NewFilelist。其中根据MD5值比较,删除服务器上以及存在的文件信息时,只保留服务器上不存在或变化的文件。
(4)客户端得到服务器发送过来的NewFilelist,然后把NewFilelist,然后把NewFilelist中的文件重新传输到服务器。
yum install rsync
rsync有两种常用的认证方式,一种是rsync-daemon方式,另一种是ssh方式。在平时使用过程,使用最多的是rsync-daemon方式
注意:在使用rsync时,服务器和客户端都必须安装rsync程序
(1)rsync-daemon认证:rsync在rsync-daemon认证方式下,默认监听TCP的873端口。并且也只有在此种模式下,rsync才可以把密码写入到一个文件中。
注意:rsync-daemon认证方式,需要服务器和客户端都安装rsync服务,并且只需要rsync服务器端启动rsync,同时配置rsync配置文件。客户端启不启动rsync服务,都不影响同步的正常运行。
(2)ssh认证:rsync在ssh认证方式下,可通过系统用户进行认证,即在rsync上通过ssh隧道进行传输,类似于scp工具。此时的同步操作不在局限于rsync中定义的同步文件夹。
注意:ssh认证方式