修正同步篩選器無法排除檔案的問題 — 用 RcloneView 撰寫正確的排除規則
如果原本要排除的檔案仍出現在目的地,原因通常是模式的錨定方式,而不是篩選器壞了。
一位開發者將專案資料夾同步到 Backblaze B2,並加入了 .git 排除規則。隔天早上,儲存貯體裡仍然有成千上萬個 Git 物件。篩選規則遵循 rclone 的比對邏輯,因此少一個斜線就會改變規則比對的內容。RcloneView 將這些規則放在同步精靈的 Step 3,並提供試執行(Dry Run),讓你在任何檔案移動之前先行測試。

在同一處管理與同步所有雲端
RcloneView 是 rclone 的跨平台 GUI。透過清爽的視覺化介面比較資料夾、傳輸或同步檔案,並自動化多雲工作流程。
- 一鍵作業:複製 · 同步 · 比較
- 排程器與歷史記錄,打造可靠的自動化
- 支援 Google Drive、OneDrive、Dropbox、S3、WebDAV、SFTP 等
核心功能免費。Plus 提供自動化功能。
排除規則為何會漏掉檔案
大多數篩選問題都來自錨定。以 / 開頭的模式只會從同步來源的根目錄開始比對。不帶 / 的模式則可在任何層級比對。RcloneView 篩選設定中的範例說明了兩者的差異:
.iso會排除目錄樹中任何位置具有該副檔名的檔案。/.git/*只排除來源根目錄下.git資料夾中直接包含的檔案。.git/會排除任何層級的所有.git資料夾,這正是大多數開發者想要的。
如果你只寫了 /.git/*,像 client-a/app/.git 這樣的巢狀儲存庫仍會被同步。由於 * 在資料夾邊界處停止,它們的子資料夾也一樣。改用不帶錨定的資料夾規則後,巢狀儲存庫就會被排除。
第二個常見錯誤是選錯來源資料夾。根錨定的模式是相對於 Step 1 中所選的資料夾,因此將來源往上移一層就會改變它們比對的內容。
檢查其他篩選設定
精靈中的篩選器不只有自訂規則。Step 3 還提供 Max file size(以 MB 為單位)、Max file age(使用 y、d、h、m、s 單位)、Max folder depth,以及針對 Music、Video、Image、Document、Google Docs 和 Box Docs 的預先定義篩選器。這些設定會一併生效,因此早先複製的工作可能出現意料之外的行為。
例如,測試時設定後忘記移除的資料夾深度限制,會讓較深的子資料夾在毫無提示的情況下被略過。在重寫自訂規則之前,請在 Job Manager 中開啟工作,清除不需要的限制。