2009-09-20 74 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算法確保只發送文件的變化部分。