文件同步

目录

26.1. 可用的数据同步软件
26.2. 选择程序时的决定性因素
26.3. CVS 简介
26.4. rsync 简介
26.5. 有关详细信息

摘要

现今有很多人都在同时使用多台计算机 - 一台在家用,一台或多台在办公室用,还可能携带便携式计算机或 PDA 在途中使用。 很多文件是所有这些计算机上共同需要的。 所以,您可能希望能在所有计算机上工作,修改文件,让所有计算机都能提供最新的数据。

可用的数据同步软件

数据同步对于通过快速网络永久互联的计算机而言并不是个问题。 在这种情况下,使用 NFS 这样的网络文件系统并将文件储存在服务器上,就可以支持所有主机通过网络访问相同的数据。 但如果网络连接较差或者不是永久连接,这种方法就行不通了。 使用便携式计算机在途中工作时,所有所需文件的副本都必须位于本地硬盘上。 不过,您需要随后同步修改的文件。 在一台计算机上修改某个文件后,一定要更新该文件在所有其他计算机上的副本。 对于零星的副本,可以用 scp 或 rsync 手动更新。 但如果涉及大量文件,这个过程要复杂得多,您必须小心操作,避免出现旧文件覆盖新文件之类的错误。

[Warning]数据丢失风险

开始通过同步系统管理数据之前,您应该熟悉所用的程序并测试其功能。 一定要对重要文件进行备份。

使用程序可以通过各种方法自动执行数据同步,从而克服手动同步数据时既耗时又容易出错的缺点。 以下概要的目的只是让您大致了解这些程序的工作原理及它们的用法。 如果打算使用它们,请阅读相应的程序文档。

CVS

CVS 主要用于对程序源代码进行版本管理;使用它可以在多台计算机上保留文件的副本。 因此,该程序也适用于数据同步。 CVS 在服务器上维护一个中央安装源,其中保存着文件和对文件的更改。 本地执行的更改将提交到该安装源,并能够通过更新从其他计算机检索。 这两个过程都必须由用户启动。

若多台计算机上都发生了更改,CVS 能够非常灵活地处理错误。 这些更改将合并,若发生在同一行上,则会报告冲突。 发生冲突时,数据库仍保持一致状态。 冲突仅显示在客户机上并在客户机上解决。

rsync

在无需版本控制但需要通过慢速网络连接同步大型目录结构时,rsync 工具可以提供较为完善的机制,仅传送文件中的更改。 这不仅适用于文本文件,还适用于二进制文件。 为检测文件间的差异,rsync 会将文件划分为多个块,并计算各个块的校验和。

检测更改需要消耗一定的资源。 要使用 rsync,准备同步的系统应能够伸缩自如。 RAM 尤为关键。