rsync相对于其他同步工具的优缺点介绍

rsync它原本是在Linux系统下面的一个文件同步协议,随着技术的发展,它也有其它版本的,如Windows和AIX、HPUX下面都有相应的版本可以支持的。Rsync这个同步工具的好处在于完全命令行下面的操作,有详细的日志文件,同时也能支持多种不同情况下的更新,例如备份式更新等,还有一个非常好的地方是,它和服务器之间可以互相同步,即可以从服务器上更新文件下来,也可以把本地的文件提交到服务器上面去。只要你配置的参数是正确的,就能完成这样的工作。

而且这个工具占用的系统资源也比较小。另外我们也试过,用这个工具和xcopy,SecondCopy相比,优点实在是太多了,特别是在文件数量和大小非常庞大,优势更明显,200G以上的数据,十几万个文件,xcopy只要有一个出错,就麻烦了,要么中断,要么你得重新开始copy,SecondCopy这个工具在copy 200G这样的大数据量的文件时,它走不下去了,反正停在那里总是报错,而rsycn则完全没有这样的毛病。200G以上的数据,十几万个文件,我们用 Rsync可以成功的copy过去。

Rsync有一个比较慢的地方是,它在同步时,会根据本地的目录中的文件同服务器上的文件进行对比,这样比较之后,它只更新那里不一样的文件,相同的文件它会直接跳过去的,如果要同步的文件数量非常庞大时,这个比较过程就非常慢,需要等待很长时间。

Rsync的参数说明这里就不说了,大家google一下 rsycn中文手册 这个关键字,网上有很多说明的,这里只讲一下在Windows下面的安装和使用过程。

在 Windows下面,这个工具也有安装文件,http://rsync.samba.org/download.html,网上有下载的,在 Windows下面建议大家安装这个,AIX和HPUX系统下面,如果大家需要使用的话,需要自己去下载源码进行安装。在Windows下面安装后,它增加了一个手工启动后台服务RsyncServer ,在默认情况下,安装后这个服务是没有启动的,所以在第一次安装后,你要手工把这个服务启动起来,并且设置成随操作系统启动而自动启动。

安装完之后的第二步就是配置它的同步目录了,在安装目录下面有一个rsyncd.conf这样的文件,用文本编辑器打开,可以在里面看到以下的内容:

代码如下:

use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
pid file = rsyncd.pid

#Module definitions
#Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#

[test]
path = /cygdrive/c/work
read only = false
transfer logging = yes

在# 之前那几行可以不管,最下面的那几行才是我们最关心的,需要注意的是,Rsync这个工具是从Linux下发展下来的,所以它的路径和Windows下面的路径有点不一样,需要转换一下,如c:\work这个目录,在Rsync中的目录路径应该写成 /cygdrive/c/work 这样,这种格式里面没有那个冒号,用得全部都是反斜杠,在驱动器的盘符前面要加上/cygdrive/。 其它的路径参照这个格式改一下就可以了。

[test] 这一行是表示你设置的某个同步目录的模块名称,你可以把它理解成一个Rsync中的别名,这样可能会容易理解一些,要注意的是,这个名称是区分大小写的,而且不能重复。

path = /cygdrive/c/work 这一行是表示你设置的同步目录的物理文件路径,这个格式需要注意,不要写错了

read only = false 表示设置的这个同步模块只能读,不能通过rsync的客户端向这里写文件
transfer logging = yes 表示在同步的时候将输出的日志按预定的格式进行格式化,具体的格式和日志你可以查看安装目录下面的 rsyncd.log 这个文件。这个文件也需要注意一下,就是长时间的同步操作后,这个日志文件可能会很大,所以你最好每隔一段时间就手工删除一下。当有人要用rsync客户端时行同步时,这个日志文件你是删除不掉的,只有在没有人使用的时候才可以删除掉的。

这样服务端的就安装成功了,然后就可以用Rsycn 的客户端去连接服务器进行同步操作了。Linux平台不需要你安装,系统默认就安装了,Windows下面你也先要安装一下客户端,客户端的安装包安装过一次之后,你可以把那些己经安装好的文件全部copy到其它要用的机器上,客户端可以直接copy过去使用的。copy到任意目录下面,然后启动一个 cmd窗口,切换到rsync.exe所在的目录,然后输出以下命令:
rsycn -avrDztopg --force --delete 192.168.100.10::test/abc/  /cygdrive/c/abc

这条命令的意思是根据192.168.100.10这台机器上的c:\work\abc目录下面的所有内容同步到本地的c:\abc目录中,如果发现在本地的c:\abc中存在的文件而在服务器上没有的,则强制把本地这些多余的文件删除掉,其它的参数大家可以看看那个中文帮助手册,里面有详细的说明。

(0)

相关推荐

  • inotify-tools+rsync实时同步文件的配置方法

    服务器A:论坛的主服务器,运行DZ X2论坛程序;服务器B:论坛从服务器,需要把X2的图片附件和MySQL数据实时从A主服务器实时同步到B服务器.MySQL同步设置会在下一编中说到.以下是用于实时同步两台服务器的图片. 因为一般的RSYNC需要CRON来定期运行SH脚本来实现同步,这样会带来一些问题.比如用户从主服务器上传上一个图片,需要最少一分钟才能从从服务器显示出来.自从Linux 2.6内核后,支持了inotify机制,当某些文件或文件夹有改变时,发出相应的事件,这样,第三方程序只要订阅这

  • Rsync实现文件定时同步技巧

    使用背景: 2005年5月,商务网处于上线阶段.但,由于总总原因一直迟迟不能上线.系统基本功能都已经实现了,但是作为一个商务网整体来说,文件同步这块还没有完成.正好自己这段时间不是很忙.对这块也有些兴趣,所以决定摸摸看. 万事开头难,从没接触过什么同步之类的,怎么开始呢?幸好以前做邮件系统的时候,认识了Eyou的小熊,请教了他,于是推荐了Rsync这个好工具给我.在此,特别感谢小熊的帮助.        Rsync的优点是部署方便,使用方便,效率高,并且它是开源的.目前在某些Linux服务器版中

  • 无需密码通过ssh执行rsync来同步文件的方法

    1.通过ssh执行rsync(需要密码) 通过ssh帐户(需要密码)执行rsync,将文件同步镜像到远程服务器. 下面这个例子将本地的/home/ramesh同步到远程目录/backup/ramesh(服务器地址192.168.200.10). 执行以下操作时,服务器将会提示需要用户使用密码登录. 复制代码 代码如下: rsync -avz -e ssh /home/ramesh/ ramesh@192.168.200.10:/backup/ramesh/ 2.使用ssh-keygen生成密匙

  • Linux 用cp和rsync同步文件时跳过指定目录的方法

    需求是:某测试站点,在某个节点的时候需要同步到正式站点去,但是里面的config目录不能覆盖, 方法一:终端命令行下执行以下命令 cp -R `find /projectA -type d -path /projectA/common/config -prune -o -print | sed 1d ` /projectB/ 方法二: localhost # find projectB/ommon/config | xargs touch 修改目标目录的congfig目录文件的access ti

  • rsync 同步错误 cwrsync rsync error rsync error: some files/attrs were not transferred 解决方法

    本人发现这个问题两次了一直以为是服务器问题,因为就一台机器出现了这个问题,原来为了安全特取消了文件的写入与修改权限.通过mcafee的修改权限,问题解决,所以出现问题,先检查目录权限问题. rsync error: some files/attrs were not transferred (see previous errors) cwrsync rsync error failed: Invalid argument cwrsync 在windows 系统上作为服务端 rsync 在linu

  • windows下文件同步工具 CwRsync 4.0.2 安装配置方法(图文)

    CwRsync是基于cygwin平台的rsync软件包,支持windows对windows.windows对Linux.Linux对windows高效文件同步.由于CwRsync已经集成了cygwin类库,因此安装的时候可以省去cygwin包.Cwrsync还集成了OpenSSH for windows,可以实现Linux 下Rsync一模一样的操作.详细配置步骤如下: 一.服务器端安装配置 1.下载服务器端安装文件http://http://www.jb51.net/softs/55933.h

  • rsync 只同步目录结构不同步文件的方法

    If you are using an older rsync version, try: 复制代码 代码如下: rsync -av --include='*/' --exclude='*' /path/to/src /path/to/dest/ rsync -av --include='*/' --exclude='*' /path/to/apache/logs/ root@www433.nixcraft.net.in:/path/to/apache/logs/ # cd /var/log/a

  • 使用cwRsync实现windows下服务器文件定时同步备份(附错误处理方法)

    首先要下载cwRsync的服务端和客户端软件,下载地址如下: 服务端:cwRsync Server (多台服务器文件同步服务端) V4.1.0 免费版 客户端:cwRsync(多服务器文件同步客户端) V4.1.0 免费版 不过我们使用的一般不是最新版本,老版本可以到s.jb51.net的服务器文件同步专区下载 然后我在本地机器上安装了其中的服务器端(10.0.2.136),然后在同网段下的另一台机器(10.0.2.137)安装了客户端.为了测试,我专门在本地机器上的f盘上放置了我们的产品dnt

  • 在Windows中配置Rsync同步文件的方法

    Rsync是一款不错的文件免费同步软件,可以镜像保存整个目录树和文件系统,同时保持原来文件的权限.时间.软硬链接.第一次同步时 rsync 会复制全部内容,下次只传输修改过的文件部分.传输数据过程中可以实行压缩及解压缩操作,减少带宽流量.支持scp.ssh及直接socket方式连接,支持匿名传输.支持Linux,Window平台.写本文的时候,window版最新版为4.0.5版 官网:http://rsync.samba.org/ Linux版下载:http://rsync.samba.org/

  • RSync实现文件同步备份配置详解

    一.什么是rsync rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息. rsync是用 "rsync 算法"提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件. rsync 包括如下的一些特性: 能更新整个目录和树和文件系统: 有选择性的保持符号链链.硬链接.文件属于.权限.设备以及时间等:

随机推荐