2009-09-20 72 views

回答

8

你给出的例子正是为什么同步被认为是一个难题。

计算机A已删除计算机B仍有的文件。现在:你怎么知道文件是否被添加到B上,并且应该被复制到A上,或者在A上被删除,并且应该在B上被删除?你没有,真的。许多同步系统有可能发生相互冲突的变化,这些变化需要人工解决。

许多工具已经建成做到同步,包括:

  • 版本控制系统,如CVS,Subversion的,水银,GIT中,Perforce公司等
  • 独立,单向同步方案。他们无法处理任何一方的更改,但可以使目标目录与源目录完全相同。这比完整的COPY要好,因为它速度更快,但它基本上是一样的。例子包括Windows上的rsync,ROBOCOPY和XCOPY/MIR。
  • 易于使用的互联网同步工具,可以同步多台机器上的文件夹。例子包括Windows Live文件夹和Dropbox。这些应用程序通常通过在子目录中创建两个版本的额外副本来解决冲突,以便稍后将其排除。他们真的认为将会有非常少的冲突。在复杂的应用
  • 内置的同步,例如,电子邮件/联系人/日历中的Microsoft Exchange同步的Lotus Notes等
3

你也可能想看看Unison。它是一个多向文件同步工具,它使用rsync算法确保只发送文件的变化部分。