用户手册 · GSYNC 命令行
概述
GSYNC 在指定 Job 或操作完成前不会退出。GSYNC 按命令行中给定的顺序顺序运行所有 Job。
运行 Job 的命令行格式:
gsync [<profile-option>...] [<run-option>...] [<global-option>...] <job-command and job-option>
执行操作(非 Job 运行)的命令行格式:
gsync [<profile-option>...] <global-command>
日志文件写入 stdout。
NOTE:选项的顺序是强制的。例如 — Job 选项不能与 Global 选项混排,Global 选项不能在 Profile 选项之前。
License 激活
使用以下命令行选项激活 GSYNC license。这是在 Linux 上激活 GoodSync 的唯一方式(Linux 没有 GUI 版本)。
/activate- 用本机的 GoodSync Account 在本机激活 GoodSync license。
NOTE:这是在线激活 — GoodSync 必须能访问mediator.goodsync.com。
默认使用标准浏览器代理。可通过下方 Proxy 章节调整代理认证或使用替代代理。
Profile 与 Logging 选项
Profile 选项设置 GoodSync Profile 文件夹(账户与 Job 所在)以及日志保存位置。
/profile=<folder-path>- GoodSync profile 文件夹。账户、Job、Group、Program Options 都从此文件夹的
accounts-bookmarks.tic与jobs-groups-options.tic加载。Global Log 文件也写入此 profile 文件夹。
未指定时 — Windows 默认C:\Users\UserName\AppData\Roaming\GoodSync,Mac/Linux/UNIX 默认~/.goodsync。 /lf=<log-folder>- 把全局日志写到
<log-folder>。未指定时写入 profile 文件夹。路径应为本机绝对路径。 /ll=0|1|2|3|9- 设置本次运行的日志级别:
- 0 — 关键消息(Job 启动与停止)
- 1 — 错误消息
- 2 — 信息消息(默认)
- 3 — 详细消息
- 9 — 完全无日志
/jobs-file=<job-list-file>- 指定时 — 从指定 TIC 或 TIX 格式的文件加载 Job 列表与 Global 选项(按文件扩展名)。
指定时 — 应为 Profile 与 Logging 选项中的最后一项。
未指定时 — 从 profile 文件夹的jobs-groups-options.tic加载。 /no-load-tic- 指定时 — 不从 profile 文件夹加载 Job、Group 与 Program 选项 — 而用
job-tmp命令在命令行构建并运行 Job。
指定时应为 Profile 与 Logging 选项中的最后一项。设置环境变量NOLOADTIC=1可达到相同效果。 /no-save-tic- 指定时 — GSYNC 修改后不把 Job、Group 与 Program 选项保存回 profile 文件夹。
指定时应为 Profile 与 Logging 选项中的最后一项。设置环境变量NOSAVETIC=1可达到相同效果。
Run 选项
/progress=yes|no- 下载或上传文件时显示进度消息(默认 no)。
/noprint=yes|no- 解析后不打印命令行参数。
/no-log-stamp- 不为每行日志添加时间戳。
/list-changes=yes|no- 把 Analyze 检测到的变更列表打印到日志。
/cleanup=yes|no- GSYNC 启动时清理旧日志与临时文件。「旧日志」指超过日志保留天数的文件。
仅在本机没有其他 GoodSync 或 GSYNC 进程运行时使用此选项 — 它会删除所有符合条件的日志与临时文件,包括其他正在运行的 GoodSync 实例的。 /override-locks=yes|no- Analyze 时覆盖锁文件(默认 no)。同步运行 Job 时同步文件夹中会创建锁文件,Job 完成时删除 — 当锁文件存在时,涉及该文件夹的另一同步将不会启动。
/comp-cksums=yes|no- Analyze 时比较文件校验和 — 会显著拖慢 Job 执行。
/comp-bodies=yes|no- Analyze 时比较文件主体 — 会非常显著拖慢 Job 执行。
Global 命令
/help- 显示列出命令行选项的帮助消息并退出。
/version 或 /license- 打印版本与 license 详情并退出。
/check-ver- 检查当前 GSYNC 版本是否最新。
GoodSync Account
/gs-account-enroll=Email- 把本机注册到 Email 标识的 GoodSync Account。控制台会请求账户密码。账户由 Mediator 验证 — 账户变更后 gs-server(GoodSync Server)服务会重启。
/manage-account- 在默认浏览器中打开管理 GoodSync Account 的在线页面。
/buy-license- 在默认浏览器中打开购买 GoodSync license 的页面。
/activate- 用本机的 GoodSync Account 在本机激活 GoodSync license。
/runner- 作为本地 Job Runner 运行 — 模拟 GoodSync GUI 处理 Auto Job 的行为:
- 启动并运行所有处于 Auto 模式的 Job — 例如「On File Change」Job。
- 不显示任何 GUI — Job 结果通过 Global 与 Job 日志显示。
- 不消耗任何图形资源 — 作为纯命令行进程运行。
- 终止 GSYNC Runner — 向其控制台发送 CTRL+C。
- 未指定
/runner时 — 适用常规 GSYNC 选项。
/cc-runner- 作为 Control Center Job Runner 运行。详见 Control Center 管理员指南。
Server Accounts 与 Account Sync
/sync-jobs-accts- 在本客户端与 GoodSync Account(Mediator 上的中央 Job 仓库)之间同步 Job、Group、选项与 Server Accounts。
/sa-list [prefix]- 列出所有 Server Account。指定 prefix 时仅列出以该 prefix 开头的。
/sa-create ConnectOptions- 创建新 Server Account 并填入 ConnectOptions。
示例:/sa-create /f=sftp://server.company.com /userid=myuser /pk="d:/keys/priv.key" /sa-oauth- 执行浏览器认证(OAuth2)— 得到的 Refresh 与 Access Token 添加到 Server Account Manager(按从 OAuth 数据提取的 UserID)。打印出 Server Account Key 供 Job 选项使用。仅需 URL 前缀即可指示文件系统 — 如
gdrive://或msgraph://。 /sa-update AcctKey/AcctName ConnectOptions- 用新 Connectoid 选项更新由 AccountKey/AccountName 指定的 Server Account。
示例:/sa-update sftp://myuser@server.company.com /f=sftp://server.company.com /userid=myuser /pk="d:/keys/priv.key" /sa-rename AcctKey/AcctName NewAcctName- 把 Server Account 重命名为 NewAcctName。
示例:/sa-rename sftp://myuser@server.company.com "Company SFTP account" /sa-delete AcctKey/AcctName- 按 Key 或 Name 删除 Server Account。
示例:/sa-delete "Company SFTP account"
Global 选项
这些命令修改 GoodSync GUI 的 Program Options(Windows 在 Tools → Program Options,Mac 在 GoodSync → Preferences)。
General(常规)
/sort-jobs-alpha=yes|no- 在 Job List 视图中按字母排序 Job(默认 yes)。
/system-tray=yes|no- 在系统托盘显示 GoodSync 图标(仅 Windows,默认 yes)。
/tray-on-close=yes|no- 关闭应用时最小化到系统托盘(仅 Windows,默认 no)。
/compare-prog=<file-path>- 用 FilePath 指定的程序进行 diff 风格的文件比较。未指定时使用 UNIX diff。
/warn-time-range=yes|no- 文件/文件夹修改时间超出范围时警告(默认 no)。
/group-log-lines=yes|no- 合并相似日志行(默认 yes)。
/log-retain-days=<number>- 旧日志保留天数 — 超过的删除(默认 7)。
Auto
/auto-hide-mini-win=yes|no- 无 Job 活动时自动隐藏 Mini Mode 窗口(仅 Windows,默认 yes)。
/months-old-gens=<number>- 项目代际历史保留月数。
/parallel-auto-jobs=<number>- 并行运行的 Auto 模式 Job 上限(默认 1)。
/auto-jobs-quant=<number>- 启动 Auto Job 所用的 quant 秒(默认 3)。
/encrypted-passwords- 本地加密保存连接密码。
Filters(全局过滤器)
/exclude=<file-mask>- Exclude Filter。File Mask 为以「|」分隔的模式列表(如
*.obj或\folder\file)。可提供多个/exclude— 它们的值会用「|」拼接。 /include=<file-mask>- Include Filter。同上。
/exclude-empty=yes|no- 从 Job 中排除空文件夹。
/exclude-hidden=yes|no- 从 Job 中排除隐藏文件与文件夹。
/exclude-system=yes|no- 从 Job 中排除系统文件与文件夹。
SMTP
/smtp-host=hostname- 用此处设置的 IP 名称或地址作为 SMTP 服务器发送 post-Analyze 与 post-Sync 邮件。
/smtp-port=port- SMTP 服务器端口。
/smtp-secure=yes|no- 提交邮件到 SMTP 服务器时使用 SSL 加密连接。
/smtp-starttls=yes|no- 提交邮件到 SMTP 服务器时用 STARTTLS 切换到加密连接。
/smtp-userid=<userid>- SMTP 服务器 UserID。
/smtp-passwd=<password>- SMTP 服务器 Password。
/smtp-sender=<name-email>- 邮件发件人 —
"email@company.com"或"FirstName LastName <email@company.com>"。
Proxy
/proxy-auto=yes|no- 使用 WinInet 代理(即 Internet Explorer 使用的)。
/proxy-host=hostname- 用此处设置的 IP 名称或地址作为代理服务器 — 否定
/proxy-auto选项。 /proxy-port=port- 代理服务器端口。
/proxy-userid=<userid>- 认证代理的 UserID。
/proxy-passwd=<password>- 认证代理的 Password。
Job 命令
analyze /all- 分析所有 Job。
analyze <job list>- 分析所列 Job — Job 名称用空格分隔。包含空格的 Job 名称必须用引号包围:
"Job Name"。 sync /all- 分析并同步所有 Job。
sync <job list>- 分析并同步所列 Job — Job 名称用空格分隔。包含空格的名称需用引号包围。
job <job name> [<job options>]- 创建或更新 Job。
job-new <job name> [<job options>]- 用指定 Job 选项创建新 Job。
job-tmp <job name> [<job options>]- 创建带指定选项的临时 Job 并 Analyze/Sync — 该 Job 不加入 Job 列表,仅在执行期间存于内存。
job-update <job name> [<job options>]- 更改现有 Job 的指定选项。
job-delete <job name>- 删除现有 Job。
job-list- 列出所有可用 Job。
Job 选项
/analyze- Job 创建或更新后执行 Analyze。
/sync- Job 创建或更新后执行 Analyze + Sync。
/autoclear- Auto 模式下 — Sync 成功或 Analyze 无变更后移除 Sync Tree。
Connectoid 选项(连接属性)
Connectoid 选项表示 GoodSync 与任何受支持文件系统(服务器)连接的属性 — 如 URL、UserId、Password。三种侧别相关格式(以 /f 为例):
/f=URL— 用于/sa-..Server Account 命令的 Connectoid 选项/f(URL)。/f1=URL— Job 命令中 Job 左侧的 Connectoid 选项/f(URL)。/f2=URL— Job 命令中 Job 右侧的 Connectoid 选项/f(URL)。
URL 与 Server Account 选项的正确组合:
/f=URL— 完整文件夹 URL — 不在 Server Account 中查找。/n=AccountName /uN=URL— Server Account + InAccount URL — 按 AccountName 在 Server Account Manager 中查找。/k=AccountKey /uN=URL— Server Account + InAccount URL — 按 AccountKey 查找。
完整 Connectoid 选项列表
/f1=<URL> /f2=<URL>- 左/右同步文件夹路径。示例:
合适的 URL 格式见 文件系统章节。file:///C:/folder1/folder2 file://share/disk/folder1/folder2 ftp://server.domain.com:port/folder sftp://server.domain.com:port/folder http://server.domain.com:port/folder
NOTE:含空格的路径用引号包围。 /u1=<account URL> /u2=<account URL>- Server Account 的左/右侧 URL(用 Server Account Manager 保存)。示例:
/u1="gdrive://www.googleapis.com" /k1=<AccountKey> /k2=<AccountKey>- 左/右同步文件夹的 Server Account Key — 需配合
/uN。示例:/k1="gdrive://XDH1ABxaxXFmpUk3PJA@www.googleapis.com-n1" /n1=<AccountName> /n2=<AccountName>- 左/右 Server Account 的 Name — 需配合
/uN。示例:/n2="DropboxAcct" /d1=<folder path> /d2=<folder path>- Server Account 的左/右侧文件夹路径 — 需配合
/kN或/nN。示例:/d2="/Work/Projects" /userid1=<userid> /userid2=<userid>- 左/右同步文件夹的 UserID。
/password1=<password> /password2=<password>- 左/右同步文件夹的 Password。
/time-trans1=yes|no /time-trans2=yes|no- 无法复制/设置文件修改时间时使用时间转换。
/bad-certs1=yes|no /bad-certs2=yes|no- 左/右侧不检查 SSL 服务器证书。
/useproxy1=yes|no /useproxy2=yes|no- 左/右侧使用代理。
/wininet1=yes|no /wininet2=yes|no- DAV、S3、FTP 在左/右侧使用 WinInet 而非原生 socket。
/utf8-1=yes|no /utf8-2=yes|no- 左/右侧文件名编码使用 UTF-8(no = ANSI)。
/temp-dest-file1=yes|no /temp-dest-file2=yes|no- 左/右侧复制文件时使用临时文件。
/hostbased1=yes|no /hostbased2=yes|no- 左/右侧使用 Host Based Addressing(S3)。
/reduced-redundancy1=yes|no /reduced-redundancy2=yes|no- 左/右侧使用 Reduce Redundancy(S3)。
/server-encrypt1=yes|no /server-encrypt2=yes|no- 左/右侧使用 Server Side Encryption(S3)。
/accesspolicy1=<policy> /accesspolicy2=<policy>- 左/右侧使用指定的 Access Policy(S3)。
/aws4-auth1=yes|no /aws4-auth2=yes|no- 左/右侧使用 AWS V4 认证(S3)。
/show-native1=yes|no /show-native2=yes|no- 显示原生 Google Docs/Drive 文件(GDocs,转换为外部格式)。这会让 Analyze 与 Sync 变慢 — 因为 Analyze 一个原生文件也需要转换。
/active1=yes|no /active2=yes|no- 左/右侧使用主动 FTP 模式(no = 被动)。
/mdtm1=yes|no /mdtm2=yes|no- FTP 在左/右侧使用 MDTM 命令。
/mlsd1=yes|no /mlsd2=yes|no- FTP 在左/右侧使用 MLSD 命令。
/implicit1=yes|no /implicit2=yes|no- FTPS 在左/右侧使用隐式模式(no = 显式)。
/listla1=yes|no /listla2=yes|no- FTP 在左/右侧使用
LIST -la命令进行列出。 /move-level-only=yes|no- FTP 的 MOVE 命令仅在一个文件夹层级生效。
/tls-sess-reuse=yes|no- FTPS 要求左/右侧 TLS 会话复用。
/pk1=<file-path> /pk2=<file-path>- SFTP 私钥文件的绝对路径(左/右侧)— 也用于 WebDAV/GSTP 的私钥证书文件。
/can-otp1=yes|no /can-otp2=yes|no- 左/右侧使用 OTP 一次性密码认证(GSTP,非持久)。
/otp1=value /otp2=value- 左/右侧收到的 OTP 值(GSTP,非持久)。
General 选项(常规)
/dir=2way | ltor | rtol- Job 方向:双向、左到右(ltor)或右到左(rtol)。
/deletions=yes|no- 传播删除选项。
/fast-1way=yes|no- Fast 1-way NoState NoLock 模式。
/create-if-not-found=yes|no- 同步文件夹未找到时创建(默认 no)。
/balloon-msg=none|errors|changes- 气泡消息显示选项。
/save-prev-version=yes|no- 把被 GoodSync 覆盖或删除的文件保存到
_gsdata_\_saved_文件夹 — 仅保存最近一个版本。 /cleanup-prev-version=yes|no- 是否清理前一文件版本。
/days-prev-version=<number>- 保留前一文件版本的天数。
/save-past-versions=yes|no- 把过去版本保存到
_gsdata_\_history_文件夹 — 每次覆盖或删除都保存一个版本。 /cleanup-past-versions=yes|no- 是否清理过去文件版本。
/days-past-versions=<number>- 保留过去文件版本的天数。
/reconnect-secs=<number>- 重连尝试秒数。
/run-parallel-threads=yes|no- Sync 时并行运行 worker 线程。
/worker-threads=<number>- Sync 时并行执行的 worker 线程数。
/speed-limit=<number>- 文件复制速度限制(KB/sec)。
Filters(Job 过滤器)
Job Filter 选项与 Global Filter 选项相同:/exclude、/include、/exclude-empty、/exclude-hidden、/exclude-system。详见上方 Global 选项 部分。
Auto(自动触发)
/on-file-change=analyze|sync|no- 本地同步文件夹内任何文件变化时自动 Analyze/Sync。
/onfilechange-delay=<number>/on-file-change选项的延迟秒数。/on-folder-connect=analyze|sync|no- 文件夹连接时自动 Analyze/Sync。
/on-start=analyze|sync|no- GoodSync 启动时自动 Analyze/Sync。
/autostart-delay=<number>- 启动时延迟秒数。
/on-timer=analyze|sync|no- 按定时器(每 N 分钟,由
/timer-period设置)自动 Analyze/Sync。 /timer-period=<number>/on-timer的定时器周期(分钟)。/on-logout=sync|no- 从 Windows 账户登出时自动同步。
/on-schedule=analyze|sync|no- 按计划自动同步。
/schedule-min=list-of-number-ranges (0 to 59)/on-schedule中运行的分钟数。/schedule-hour=list-of-number-ranges (0 to 23)/on-schedule中运行的小时。/schedule-day=list-of-number-ranges (1 to 31)/on-schedule中运行的月日。/schedule-month=list-of-number-ranges (1 to 12)/on-schedule中运行的月份。/schedule-dow=list-of-number-ranges (0=Sun to 6=Sat)/on-schedule中运行的星期几。/auto-unattended=yes|no- 无 GUI 运行 Job(Unattended)。
/limit-changes=<number>- 变更文件过多时不同步(0–100)。
/wait-for-locks=yes|no- 等待锁文件而非报错。
/wait-for-locks-minutes=<number>- Wait for Locks 等待分钟数。
/autoclear=yes|no- Sync 后自动清除 Sync Tree。
Conflict Resolving(冲突解决)
/resolve-weak-conflicts=yes|no- 自动解决弱冲突(一侧无项目代际时)。
/autoresolve=no|left|right|newer- 自动解决冲突:Do Not Copy / 左侧胜 / 右侧胜 / 较新者胜。
/rename-losing-file=yes|no- 冲突中重命名失败方文件而非删除。
Script(脚本)
/pre-analyze-action=<email-addr|program-path>- Pre-Analyze 邮件地址或程序路径。
/post-analyze-action=<email-addr|program-path>- Post-Analyze 邮件地址或程序路径。
/post-sync-action=<email-addr|program-path>- Post-Sync 邮件地址或程序路径。
Advanced — Sync Time(同步时高级)
/copy-create-time=yes|no- 复制文件/文件夹创建时间。
/copy-attrs=yes|no- 复制属性(如 rwxrwxrwx)。
/copy-ext-attrs=yes|no- 复制扩展属性(仅 Mac)。
/copy-owner=yes|no- 复制文件 Owner — 若已开启 Copy ACL 则不需要。
/copy-acl=yes|no- 复制 ACL 安全属性。
/move-mode=yes|no- Move Mode — Copy 后删除源文件。
/delete-empty-folders-on-move=yes|no- Move Mode — Copy 后删除空源文件夹。
/copy-locked=yes|no- 用 Windows Shadow Copy 服务复制锁定文件(仅 Windows)。
/uber-unlocked=yes|no- 读取文件的 Uber-unlocked 模式。
/copy-original-fs-names=yes|no- 不更改禁止字符(仅在 Mac→Mac Job 上工作良好)。
Advanced — Analyze Time(分析时高级)
/compare-md5=yes|no- Analyze 时比较所有文件的 MD5 校验和。
/detect-moves=yes|no- 检测文件与文件夹的移动与重命名(而非「Copy + Delete」)。
/est-req-space=yes|no- 估算 Sync 所需的可用空间。
/links=ignore|copy-asis|drill-down- 文件夹符号链接处理模式。
Left / Right Folder(左右文件夹选项)
/compare-checksums1=yes|no /compare-checksums2=yes|no- 左/右侧需要时比较校验和。
/compare-ext-attrs1=yes|no /compare-ext-attrs2=yes|no- 左/右侧比较扩展属性。
/compare-attrs1=yes|no /compare-attrs2=yes|no- 左/右侧比较属性。
/compare-owner1=yes|no /compare-owner2=yes|no- 左/右侧比较 Owner。
/compare-acl1=yes|no /compare-acl2=yes|no- 左/右侧比较 ACL。
/no-gsdata1=yes|no /no-gsdata2=yes|no- 左/右侧无
_gsdata_文件夹。 /no-listdir1=yes|no /no-listdir2=yes|no- 左/右侧不列出目录(信任 state 文件)。
/temp-dest-file1=yes|no /temp-dest-file2=yes|no- 左/右侧用临时文件复制。
/compress-type1=no|plain|deflate /compress-type2=no|plain|deflate- 左/右侧压缩文件主体的方法。
/cipher-type1=no|zipcrypto|aes-256 /cipher-type2=no|zipcrypto|aes-256- 左/右侧加密文件主体的方法。
/encrypt-files1=yes|no /encrypt-files2=yes|no- 左/右侧加密文件主体。
/encrypt-paths1=yes|no /encrypt-paths2=yes|no- 左/右侧加密文件路径。
/encrypt-password1=str /encrypt-password2=str- 左/右侧加密密码。
/fat-like1=yes|no /fat-like2=yes|no- 左/右侧为类 FAT 文件系统。
/compress1=yes|no /compress2=yes|no- 左/右侧用 NTFS 压缩文件。
/uncompress1=yes|no /uncompress2=yes|no- 左/右侧用 NTFS 解压文件。
Return Codes(返回码)
GSYNC 返回最后运行 Job 的 Return(Exit)Code:
- 0 — 正常完成:Analyze 无变更或 Sync 成功。
- 1 — Analyze 未完成:用户停止。
- 2 — Analyze 未完成:Terminal 错误(如同步文件夹不存在)。
- 3 — Analyze 完成但有非 terminal 错误(可能也有冲突)。
- 4 — Analyze 完成有冲突但无错误。
- 11 — Sync 未完成:用户停止。
- 12 — Sync 未完成:Terminal 错误。
- 13 — Sync 完成但有非 terminal 错误(可能也有冲突)。
- 14 — Sync 完成有冲突但无错误。
- 负数 — 启动 GSYNC 时出错。
非 terminal 错误不返回错误码 — 它们记录到日志文件中。
TIX:可读的 Job 描述符
GoodSync 可以以名为 TIX 的类 XML 文本格式导出、导入、写入与读取 Job 列表。
使用 Tools → Export All Jobs 或 Tools → Export Selected Jobs 导出 Job 到 .TIX 文件(Mac 仅有 GoodSync → Export All Jobs)。
使用 TIX 的好处:
- 自动化:程序无需启动 GoodSync GUI 即可生成 GoodSync Job。
- 归档:可读、可打印的 Job 列表备份格式。
TIX 文件包含全部 GoodSync 设置:
- Program Options
- Server Account 列表(用于 Server Account Manager)
- Job 列表
- Group 列表
典型 TIX 文件示例:
<GoodSyncSettings>
ProgOptions = <ProgramOptions>
GlobalFilterIncluded = <FileMask>
Matches = ( ) </FileMask>
GlobalFilterExcluded = <FileMask>
Matches = (
"name *._gstmp"
"/System Volume Information"
"Thumbs.db"
".DS_Store"
) </FileMask>
WarnAboutTrayOnClose = Yes
SaveMonthsOldGens = 12
InstallNewVersion = No
SmtpServer = <SmtpServer>
Host = "mail.com"
Port = 465
UserID = "user"
PasswordEncrd = "password-garbled"
SecureSSL = Yes
SenderEmail = "user@mail.com"
</SmtpServer>
ProxyServer = <ProxyServer> Port = 3128 </ProxyServer>
AutoJobQuantSec = 3
</ProgramOptions>
ServerAccounts = <AccountManager>
Servers = { | <ServerAcct>
Key = "gdrive://user@www.googleapis.com"
Conn = <Connect> </Connect>
ServerBmks = {
| <AcctBmk>
Url = "gdrive://www.googleapis.com/dir-1"
Opts = <FolderOptions> </FolderOptions>
</AcctBmk>
| <AcctBmk>
Url = "gdrive://www.googleapis.com/Dir-B"
Opts = <FolderOptions>
EncryptFiles = Yes
EncryptPaths = Yes
EncryptionPassword = "..."
</FolderOptions>
</AcctBmk>
} </ServerAcct>
... (more accounts) ...
</AccountManager>
Jobs = {
| <Job>
Name = "My Job Name"
Side1 = <SideOptions>
Conn = <Connect>
Url = "file:///D:/test/FTP"
</Connect>
AcctKey = "file://@"
AcctUrl = "file:///D:/test/FTP"
</SideOptions>
Side2 = <SideOptions>
Conn = <Connect>
Url = "ftp://ftp.company.com/folder"
UserID = "user"
PasswordEncrypted = "alshjdkasjhd/s="
</Connect>
AcctKey = "ftp://mdpro@quickdesigner.mk-group.com"
AcctUrl = "ftp://quickdesigner.mk-group.com/USImages"
</SideOptions>
Direction = 1
PropagateDeletions = No
SavePreviousVersion = No
CleanupPreviousVersion = No
FiltersExcluded = <FileMask>
Matches = (
"*.jpg"
"*.docx"
"*.zip"
"*.txt"
"*.xml"
) </FileMask>
ExcludeHidden = Yes
ExcludeSystem = Yes
LimitChangesPercent = 100
AutoResolveConflicts = 1
CopyCreateTime = Yes
CopyLockedFiles = No
RetrySyncIfFileChanges = Yes
DetectMovesAndRenames = Yes
LinksOption = 1
</Job>
... (more jobs) ...
}
Groups = {
| <Group>
Name = "MyGroup"
JobsInGroup = {
| "Job 1"
| "Job 2"
| "Job N"
} </Group>
... (more groups) ...
} </GoodSyncSettings>
TIX 文件 vs 注册表:由谁决定
以下注册表值控制 Job 列表与 Program 选项的加载/保存格式与来源 — 取自注册表键 HKEY_CURRENT_USER\Software\Siber Systems\GoodSync,类型为 DWORD:
JobsLoadRegistry = 1— 以 TIX 格式从注册表值加载/保存 Job 列表与 Program 选项。JobsLoadRegistry = 0— 从jobs.tix文件加载/保存 Job 列表,从options.tix加载 Program 选项(默认)。
若选择从注册表加载/保存 Job 列表 — 使用注册表值 HKEY_CURRENT_USER\Software\Siber Systems\GoodSync\Jobs\job-name\tix。每个 Job 有自己的注册表键,键内名为 tix 的值包含描述该 Job 的 TIX 字符串(无换行符)。
通用规则
- 换行符可用于提升可读性 — 但非必需。
- 每个属性记录为
name = value— 值可以是单一常量、对象括号内的对象,或形如(element1 element2 ... elementN)的列表。 - 布尔常量可写为
Yes、No、T、F。 - 字符串写为
"text"(必须双引号)。 - 字符串内的特殊字符表示:
\n换行;\\反斜杠;\"双引号;\NNN;十进制码 NNN 的非可打印字符。
Job 属性(在 <Job>...</Job> 括号内)
General
Name = "Job Name"
Side1 = <SideOptions> SiberOptions </SideOptions>
Side2 = <SideOptions> SiberOptions </SideOptions>
Direction = 0 双向 | 1 左到右 | 2 右到左
PropagateDeletions = Yes | No
ShowBalloon = 0 Never | 1 On Errors | 2 On Errors and Info
SavePreviousVersion = Yes | No
SaveDaysPreviousVersion = Ndays
CleanupPreviousVersion = Yes | No
SavePastVersions = Yes | No
SaveDaysPastVersions = Ndays
CleanupPastVersions = Yes | No
CleanupOldGenerations = Yes | No
SaveMonthsOldGens = Nmonths
ReconnectSeconds = Nseconds
SyncParallelThreads = Yes | No
DeleteEmptyFoldersMove = Yes | No
WorkerThreads = Nthreads
SpeedLimit = number
UpSpeedLimit = number
LimitRunTime = Yes | No
MaxTimeToRun = Nminutes
ShutdownAfterRun = Yes | No
Filters
ExcludeEmptyFolders = Yes | No
ExcludeHidden = Yes | No
ExcludeSystem = Yes | No
FiltersIncluded = Matches <FileMask> ( "string" ... ) </FileMask>
FiltersExcluded = Matches <FileMask> ( "string" ... ) </FileMask>
Auto
OnFileChangeAction = 0 No | 1 Analyze | 2 Analyze and Sync
OnFileChangeDelay = Nseconds
OnFolderConnectAction = 0 | 1 | 2
OnStartAction = 0 | 1 | 2
AutoStartDelay = Nseconds
OnTimerAction = 0 | 1 | 2
TimerIntervalHours = Nhours
TimerIntervalMinutes = Nminutes
OnLogoutAction = 0 No | 2 Analyze and Sync
LimitChangesPercent = Npercent
AutoResolveConflicts = 0 disable | 1 LtoR | 2 RtoL | 3 Newer Wins
WaitForLock = Yes | No
WaitForLocksMinutes = Nminutes
AutoClearTree = Yes | No
Scripts
PreAnalyzeScriptOrEmail = "string"
PostAnalyzeScriptOrEmail = "string"
PostSyncScriptOrEmail = "string"
Advanced
CopyCreateTime = Yes | No
CopyAttrs = Yes | No
CopyExtendedAttrs = Yes | No
CopyACL = Yes | No
CopyOwner = Yes | No
CopyLockedFiles = Yes | No
UberUnlockedUpload = Yes | No
CompareMD5crc = Yes | No
DetectMovesAndRenames = Yes | No
EstimateRequiredSpace = Yes | No
LinksOption = 0 Ignore | 1 Copy As Is | 2 Drill Down
RenameLosingFile = Yes | No
Folder 属性(在 <FolderOptions>...</FolderOptions> 内)
CompareCheckSums = Yes | No
CompareAttrs = Yes | No
CompareOwner = Yes | No
CompareACL = Yes | No
NoGsData = Yes | No
NoListDirTrustStateFile = Yes | No
Compress = Yes | No
Uncompress = Yes | No
FatLike = Yes | No
Connectoid 属性(在 <Connect>...</Connect> 内)
GoodSync connectoid 描述如何连接到服务器:
Url = "string"
UserID = "string"
PasswordEncrypted = "string"
DisplayName = "GoodSync string"
Utf8 = Yes | No (所有服务器文件系统)
UseProxy = Yes | No (所有服务器文件系统)
BadCerts = Yes | No
PrivateKey = "file-path"
WinInet = Yes | No (仅 DAV)
UploadChunksThreads = Nthreads
ActiveMode = Yes | No (仅 FTP)
UseMDTM = Yes | No (仅 FTP)
UseLISTla = Yes | No (仅 FTP)
ImplicitMode = Yes | No (仅 FTP)
UseEPSV = Yes | No (仅 FTP)
MoveLevelOnly = Yes | No (仅 FTP)
HostBasedAddr = Yes | No (仅 S3)
AccessPolicy = private | public-read | public-read-write | authenticated-read
ServerEncrKey = "file-path"
ReducedRedundancy = Yes | No (仅 S3)
InfrequentAccess = Yes | No (仅 S3)
ServerSideEncryption = Yes | No (仅 S3)
RequireCheckSum = Yes | No (仅 S3)
AwsUsGovCloud = Yes | No (仅 S3)
GraphLocation = (空) us-east-1 | af-south-1 | ap-east-1 | ap-northeast-1/2/3 |
ap-south-1 | ap-southeast-1/2 | ca-central-1 | cn-north-1 |
cn-northwest-1 | EU | eu-central-1 | eu-north-1 |
eu-south-1 | eu-west-1/2/3 | me-south-1 | sa-east-1 |
us-east-2 | us-gov-east-1 | us-gov-west-1 | us-west-1/2 (仅 S3)
GraphGroupReadPermissions = Yes | No (仅 MSGraph)
GraphLocation = (空) International | US | DE | CN (仅 MSGraph)
StorageClass = archive | cold | hot (仅 MS Azure)
Program 选项(在 <ProgramOptions>...</ProgramOptions> 内)
GlobalFilterIncluded = Matches <FileMask> ( "match-string" ... ) </FileMask>
GlobalFilterExcluded = Matches <FileMask> ( "match-string" ... ) </FileMask>
HideToTrayOnClose = Yes | No
WarnAboutTrayOnClose = Yes | No
ShowTrayIcon = Yes | No
ShowJobListWindow = Yes | No
ShowFiltersWindow = Yes | No
ShowLogWindow = Yes | No
ShowStatusBar = Yes | No
GroupSimilarLogLines = Yes | No
CheckNewVersion = Yes | No
CreateFolderIfNotFound = Yes | No
DeleteSourceAfterCopy = Yes | No
AutoHideMiniWindow = Yes | No
LogLevel = 0 critical | 1 errors | 2 info | 3 details
LogRetainDays = N
LogFolder = "folder-path"
MirrorFolderPath = "folder-path"
CompareProgramPath = "file-path"
UseSmtpToEmail = Yes | No
SmtpImported = Yes | No
SmtpServer = <SmtpServer> SmtpServer-property ... </SmtpServer>
ProxyServer = <ProxyServer> ProxyServer-property ... </ProxyServer>
SMTP 选项(在 <SmtpServer>...</SmtpServer> 内)
Host = "SMTP 服务器 IP 名称"
Port = N (推荐 587 不带 SSL,465 带 SSL)
UserID = "认证 SMTP 的 user-id"
Password = "认证 SMTP 的密码"
SecureSSL = Yes | No
StartTls = Yes | No
SenderEmail = "sender@company.com"
Proxy 选项(在 <ProxyServer>...</ProxyServer> 内)
UseWinInetProxy = Yes (使用 IE/WinInet 的代理) | No (无自动代理)
UseProxyBelow = Yes (使用下方指定代理) | No (无代理)
Host = "代理服务器 IP 名称"
Port = N (代理服务器端口)
UserID = "认证代理的 user-id"
Password = "认证代理的 user-id"