用戶手冊 · 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"