Bisync:透過 RcloneView 實現真正的雙向雲端同步
標準的 rclone Sync 是單向的——它會讓目的地與來源保持一致。Bisync 更進一步:任一位置的變更都會傳播到另一邊。如果你在位置 A 新增一個檔案,它會出現在位置 B,反之亦然。以下說明如何在 RcloneView 中設定它。
大多數雲端同步情境都是單向的:本機備份到雲端,或主要雲端鏡像到備份雲端。但有些工作流程需要真正的雙向同步——例如兩人共同編輯的共享資料夾、必須保持同步的工作機與家用機,或是作為對等關係的兩個雲端帳號。Rclone 的 bisync 指令提供了這項功能,而 RcloneView 讓你不需要使用命令列即可設定它。

在同一處管理與同步所有雲端
RcloneView 是 rclone 的跨平台 GUI。透過清爽的視覺化介面比較資料夾、傳輸或同步檔案,並自動化多雲工作流程。
- 一鍵作業:複製 · 同步 · 比較
- 排程器與歷史記錄,打造可靠的自動化
- 支援 Google Drive、OneDrive、Dropbox、S3、WebDAV、SFTP 等
核心功能免費。Plus 提供自動化功能。
Sync 與 Bisync:差異何在?
| 行為 | rclone sync | rclone bisync |
|---|---|---|
| 方向 | 單向(來源 → 目的地) | 雙向(兩個方向) |
| 刪除 | 若來源缺少檔案,則從目的地刪除 | 雙向傳播刪除動作 |
| 衝突 | 來源永遠優先 | 需要明確的衝突處理 |
| 資料遺失風險 | 若方向錯誤則可能發生 | 風險較低;兩側都會檢查 |
| 複雜度 | 簡單 | 較複雜;需要謹慎設定 |
何時該使用 Bisync
在以下情況使用 bisync:
- 兩個人或系統會對同一個資料夾進行變更。
- 你在多個裝置上編輯檔案,而這些裝置無法始終同時保持連線。
- 你正將兩個雲端帳號當作雙邊都會有變更的主動鏡像來維護。
在以下情況使用一般的 Sync:
- 你有明確的主要(來源)與次要(備份/目的地)位置。
- 只有一側會建立新檔案——另一側為唯讀。
- 簡單性與可預測性是優先考量。
在 RcloneView 中設定 Bisync
Bisync 需要進行一次性的初始化(resync),以在後續執行追蹤變更之前建立基準狀態。
步驟 1 — 新增你的兩個遠端
確認兩個位置都已在 RcloneView 中設定為遠端。例如:
gdrive-work:/Projects/Active/(Google Drive 工作帳號)onedrive-home:/Projects/Active/(OneDrive 家用帳號)
步驟 2 — 執行初始 resync
第一次執行 bisync 時必須使用 --resync 來建立基準。在 RcloneView 的 Terminal(終端機) 中:
rclone bisync gdrive-work:/Projects/Active/ onedrive-home:/Projects/Active/ --resync --verbose
這會建立基準狀態檔案(儲存在 ~/.cache/rclone/bisync/ 中),供 bisync 在後續執行時用來偵測變更。resync 會透過將較新的檔案複製到每一側,使兩側保持一致。
步驟 3 — 在 RcloneView 中建立 Bisync 工作
- 開啟 RcloneView 中的 Jobs(工作)。
- 選擇 Custom Command(自訂指令) 或使用 Terminal 面板。
- 輸入用於後續執行的 bisync 指令:
rclone bisync gdrive-work:/Projects/Active/ onedrive-home:/Projects/Active/ --verbose --log-file /tmp/bisync.log
- 儲存為工作,並排程使其每小時或每天執行一次。
衝突處理
當某個檔案在兩次執行之間於兩個位置都被修改時,bisync 會偵測到衝突。預設情況下,rclone bisync 會標記這些衝突, 且不會覆寫任一版本。
新增 --conflict-resolve newer 可自動優先採用較新的檔案:
rclone bisync path1 path2 --conflict-resolve newer
或使用 --conflict-resolve larger 來優先採用較大的檔案(適用於文件持續成長的情境)。
未自動解決的衝突檔案會被加上 .conflict 後綴並重新命名,以保留兩個版本。
常見的 Bisync 旗標
| 旗標 | 用途 |
|---|---|
--resync | 初始化或重新建立基準(僅使用一次) |
--conflict-resolve newer | 透過優先採用較新的檔案來自動解決衝突 |
--filters-file /path/to/filters | 套用包含/排除規則 |
--max-delete 10 | 若將刪除超過 10 個檔案則中止(安全機制) |
--dry-run | 預覽將會變更的內容,而不實際執行任何動作 |
--verbose | 提供詳細輸出以利偵錯 |
--max-delete 旗標特別重要——它能防止 bisync 因設定錯誤而意外刪除大量檔案。
監控 Bisync 執行結果
在每次執行後,於 RcloneView 的 Job History(工作紀錄) 中檢查 bisync 的輸出:
一次健康的 bisync 執行會顯示:
- 從 path1 複製到 path2 的檔案
- 從 path2 複製到 path1 的檔案
- 偵測到的任何衝突以及其解決方式
- 總耗時與傳輸統計資料
Bisync 的限制
- 不適用於對同一檔案的同時編輯——bisync 是在多次執行之間進行比較,而非即時比較。
- 刪除傳播可能有風險——一側刪除的檔案,會在下次執行後於另一側也被刪除。
- 需要在各次執行之間維持穩定狀態——如果某次執行中途失敗,請以
--resync重新執行以重建基準。 - 路徑越大速度越慢——基準比對會在每次執行時完整掃描兩個位置。
開始使用
- 從 rcloneview.com 下載 RcloneView。
- 在 RcloneView 中設定兩個遠端。
- 從 RcloneView 的終端機執行初始的
--resync以建立基準。 - 排程定期的 bisync 執行以進行持續同步。
Bisync 為任何一對 rclone 支援的遠端——本機磁碟、雲端服務商、NAS 共享等等——帶來真正的雙向同步。
相關指南: