GoodSync 用户手册 · 前言与入门
前言(Preface)
本文档旨在为正在使用 GoodSync 强大且可定制功能的高级用户提供指南。
由于这是一份「参考手册」,并非面向新 GoodSync 用户。GoodSync 在安装过程中已提供友好的指引信息 — 大多数用户无需参考本文档即可立即开始同步数据。
如果您正在寻找 GoodSync 入门指引,请查看 GoodSync 工作原理概述 与 GoodSync 教程。
介绍(Introduction)
什么是 GoodSync?
GoodSync 是一款用于数据同步与备份的软件应用程序。它可以在不同设备或位置之间同步文件与文件夹,确保数据保持最新且各处一致。
也就是说,GoodSync 通过把新出现或更新的文件从一侧复制到另一侧(旧文件或缺失文件所在的位置)、并传播文件删除,来确保被同步的文件夹及其中的所有文件保持一致。
GoodSync 可用于多种用途:
- 同步 — 在多种设备(电脑、服务器、移动设备)之间保持文件与文件夹同步,确保从任意位置都能访问到最新版本。
- 备份 — 将文件与文件夹备份到外部硬盘、NAS 或云端,在硬件故障、误删、数据损坏的情况下保护数据。
- 数据迁移 — 切换到新计算机或新存储设备时,帮助迁移文件与设置,让过渡更顺畅。
- 文件共享与协同 — 通过同步共享文件夹与团队成员或家人共享文件、协同工作。
- 云端集成 — 与 Dropbox、Google Drive、OneDrive 等多种云存储服务集成,便于双向同步与备份。
- 自动化任务 — 支持自动化与调度 — 无需人工介入即可执行常规同步或备份任务,对日常数据管理特别有用。
- 服务器备份 — 企业可用 GoodSync 备份服务器数据,确保服务器问题发生时数据可用、可恢复。
- 版本控制 — 提供文件版本选项 — 可保留文件多个历史版本,便于回退到先前版本。
- 跨平台同步与备份 — 支持 Windows、macOS、Linux/NAS 与移动平台 — 适用于多操作系统用户。
本章讨论同步程序面临的挑战,以及 GoodSync 是如何成功应对这些挑战的。
备份 vs 同步(Backup vs. Synchronization)
同步确保两个文件夹保持一致 — 用户可在任一侧修改文件,左侧的变更会传播到右侧,右侧的变更也会传播到左侧。
备份是单向同步 — 左侧的变更会传播到右侧,但右侧的变更不会传播回左侧。
GoodSync 的单向(1-way)Job 强制执行备份场景。
为什么同步并非简单(Why Synchronization is not trivial)
如果只考虑「比较文件修改时间,让较新的文件胜出」,同步任务似乎简单 — 但需要传播删除就让事情复杂起来。如果某文件在一侧被删除,GoodSync 必须把这个删除动作传播到 Job 的另一侧(也删除该文件)。GoodSync 算法的精妙之处在于:能够正确地通过多层链式文件夹传播删除。
另一个复杂之处是:用户可能决定用旧版本替换新版本。GoodSync 可以正确处理这种情况 — 它能检测出用户做了这种替换,并传播旧版本。
链式同步(Chained Synchronization)
链式同步是把多个文件夹(如 A、B、C、D)按顺序两两同步、从而完成变更传播的过程(例如:先 A↔B,再 B↔C,再 C↔D — 结果是 A 中的变更最终传播到 B、C、D)。
GoodSync 可以正确执行链式同步。
可以使用 GoodSync 链在未连网的计算机之间同步文件。
例如,使用 USB 盘作为中介在工作电脑与家用电脑之间同步:
- 把 USB 盘(或任何便携磁盘)插入工作电脑。
- 在工作电脑上启动 GoodSync,把工作文件夹与 USB 盘同步。
- 从工作电脑拔出 USB 盘并插入家用电脑。
- 在家用电脑上启动 GoodSync,把 USB 盘与家中文件夹同步。
嵌套 Job(Embedded Jobs)
多个 Job 可以让一个文件夹与多个其他文件夹同步。此外,还可以有 Job 同步该文件夹的子文件夹或父文件夹 — GoodSync 会准确地把文件变更记录在所有受影响文件夹的状态中。
例如:考虑文件夹 C:\Work\Project,里面是一个文件经常变更的项目;而 C:\Work 中的其他项目变更较少。
一个名为「Project to Server」的 Job 每天将项目文件同步到 SFTP 服务器 — 团队成员从该服务器进一步同步文件。
另一个名为「Work to PortHD」的 Job 每周将整个 C:\Work 文件夹备份到便携硬盘。
GoodSync 确保「Project to Server」Job 所做的所有变更都反映在「Work to PortHD」Job 中,反之亦然。
GoodSync Account(账户)
要使用 GoodSync 提供的所有功能与权益,需要拥有一个 GoodSync Account — 它是 GoodSync 产品系列的通用访问入口。
GoodSync Account 用于:
- License 与设备管理 — 管理 GoodSync 授权、注册设备、为设备分配 license。
- 远程访问与数据管理 — 使用依赖 GoodSync Account 的 GoodSync Connect 功能,从任何有网络的地方连接所有设备并同步、访问其上的数据。
- 跨设备 Job 与选项 — 在所有 GoodSync 设备间备份并同步 Job、组、选项与 Server Account。
- GoodSync 云存储 — 使用 GoodSync Storage(我们自有的云存储) — 直接通过 GoodSync 界面以最快、最安全、最实惠的方式备份与还原任意设备的数据。
- 共享文件夹 — 把您账户下任意已注册设备上的文件夹分享给其他 GoodSync 用户。
- 获得技术支持等。
这些功能与可能性将在本手册后续章节详细介绍。
GoodSync Account 创建与设置
新 GoodSync Account 可通过以下任一方式创建:
- 在 GoodSync 应用安装过程中创建。
- 在已安装的 GoodSync 应用中:Windows 点击左上角「Tools」菜单选择「GoodSync Account Setup」;Mac 点击菜单栏的「GoodSync」选择「GoodSync Account Setup」。
- 在线创建:GoodSync Account 创建页。
GoodSync 应用中的上述选项还允许使用现有 GoodSync Account 登录、把设备注册到账户,并为该设备分配 license。
通过 GoodSync Account Setup,可随时更换本计算机所使用的 GoodSync Account。
GoodSync Account Setup 对话框将在安装章节中进一步说明。
入门(Getting started with GoodSync)
安装(Installation)
关于在各平台安装 GoodSync 的完整说明,请参阅相应的帮助中心文章:
- 在 Windows 上安装 GoodSync
- 在 Mac 上安装 GoodSync
- 在 Linux 上安装 GoodSync
- 在 NAS 上安装 GoodSync
- 在 Android/iOS 上安装 GoodSync
也可在本站下载页获取所有版本的本地下载入口。
分步同步教程(Synchronization step-by-step)
典型的 GoodSync 用户体验由以下阶段组成:
- 创建 Job 并选择同步文件夹:
- 用户选择要同步的左侧与右侧文件夹。
- 这一步只在初次设置 Job 时进行一次。
- 对比分析(Analyze):
- 当用户点击「Analyze」按钮时执行。
- GoodSync 计算出要让两个文件夹保持一致需要进行的全部变更。
- 预览拟执行的操作:
- 分析结果以文件/文件夹树的形式呈现给用户。
- 左/右箭头指向文件复制方向;中间的圆圈表示「不复制」(即两侧已相等)。
- 带交叉的箭头表示「传播删除」 — 例如左到右的交叉箭头表示 GoodSync 检测到左侧文件被删除,将把删除传播到右侧。
- 当前生效的方向以绿色加粗的箭头或圆圈表示。
- 其他可选方向以灰色、禁用状态的箭头或圆圈表示。
- 用户可点击希望的方向箭头来更改同步方向。
- 同步(Sync):
- 当用户点击「Sync」按钮时执行。
- 分析阶段提议、用户可能修改过的文件操作真正应用到文件上。
- 同步完成后,文件夹及其中所有文件保持一致。
增量备份:单向同步(Backup files incrementally: One-Way Sync)
备份本质上是单向同步过程 — 仅向备份文件夹传输已变更的文件与文件删除。配置备份的步骤如下:
- 先创建一个空的备份目标文件夹 — 它可以位于可移动磁盘(如 USB 盘或便携硬盘)、另一台计算机或远程服务器。
- 让 GoodSync 通过将备份源文件夹与备份目标文件夹同步来执行初次备份。
- 之后每当需要备份时,只需把备份源文件夹与备份目标文件夹同步即可。
- 需要还原文件时,备份目标文件夹中保存的就是上次备份时备份源文件夹的精确副本。
- 为确保备份始终单向进行(从原文件夹到备份文件夹,绝不反向),到
Jobs → Options选择「1-way」Job 类型。
同步算法(Synchronization algorithm)
GoodSync 实际的同步算法相当复杂,包含若干重要的发明与商业秘密 — 这里不能完全披露。
下面是该算法的整体轮廓:
- 计算左侧文件夹「当前文件状态」与「已存储文件状态」之间的差异。
- 计算右侧文件夹「当前文件状态」与「已存储文件状态」之间的差异。
- 把出现在左侧的变更传播到右侧。
- 把出现在右侧的变更传播到左侧。
- 如果同一文件在两侧都发生了变更,则声明为「Conflict(冲突)」。