1. 首頁
  2. 幫助中心
  3. 用戶手冊
  4. GSYNC 命令行

用戶手冊 · GSYNC 命令行

GSYNC 是 GoodSync 的命令行版本 — 完全無 GUI,理想用於從批處理指令碼與其他程序調用,也是 Linux 環境的標準版本。Windows 與 Mac 上 GSYNC 在 Personal 或更高級別 license 下可用。

概述

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.ticjobs-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>
左/右同步文件夾路徑。示例:
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
合適的 URL 格式見 文件系統章節
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 JobsTools → 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) 的列表。
  • 布爾常量可寫為 YesNoTF
  • 字符串寫為 "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"