定期進行異地備份,可保護重要資料免受硬體故障、勒索軟體和本機災難的威脅。但對於執行無頭伺服器或排程指令碼的開發人員、系統管理員,以及注重隱私的進階使用者來說,無法倚賴透過瀏覽器或桌面應用程式手動上載。

隨著 Proton Drive CLI(命令列介面)的推出,您可以將 Proton 的零知識端對端加密 (E2EE) 導入您的雲端備份自動化作業:您的備份指令碼和排定的 shell 工作流程。

要有效使用 CLI,必須先了解它所扮演的角色。本指南說明為何由 CLI 驅動的備份架構優於持續的背景同步、衝突策略如何處理檔案版本,以及如何在 Linux、macOS 和 Windows 上排定完整加密的異地備份。

什麼是異地備份,以及為什麼它很重要?

如果您的備份與資料存放在同一部機器上,那就不算是真正的備份。硬體會故障。勒索軟體會加密所有它能觸及的一切,包括已連接的磁碟。火災、水災或竊盜並不會區分您的主要磁碟和就放在旁邊的備份磁碟。

3-2-1 備份原則之所以存在,正是這個原因:資料至少保留 3 份副本,存放於至少 2 種不同的媒體,且至少 1 份副本位於異地。

該異地副本應與您的其它備份和主要資料在地理上分隔,它是您的最後一道防線,因此必須存放在本機故障無法觸及的地方。若它存放在雲端,服務供應商也必須無法讀取它。這正是 Proton Drive CLI 發揮作用之處。

為什麼要加密您的異地備份?

將備份存放在異地,意味著要把資料託付給第三方:一台您無法掌控的遠端伺服器,由一家所有權或政策隨時可能變更的公司營運,而其基礎架構可能遭傳票調取或入侵。

端對端加密能解決這個問題。您的檔案在離開裝置之前就已加密。若雲端伺服器遭入侵,攻擊者、供應商或任何沒有您解密金鑰的人都無法從中讀取任何內容。

Proton Drive 對所有透過桌面應用程式、行動應用程式和 CLI 上載的內容,預設採用端對端加密。您已加密的異地備份受到與 Proton 為 Proton Mail 所打造的相同零存取架構保護,並遵循嚴格的瑞士隱私法規。

認識 Proton Drive CLI:原子化指令碼與背景同步

CLI 的運作方式與桌面同步應用程式不同:

桌面和行動應用程式(同步引擎)會在背景持續執行。它們會監看檔案變更,並將每次新增、編輯和刪除的內容複製到雲端。

Proton Drive CLI(原子化執行引擎)會執行單一命令,例如 upload、download 或 list,然後結束。它不會監看本機資料夾,也不會在背景執行。

為何原子化 CLI 適合用於安全防護與備份

持續同步的背景常駐程式會鏡像複製您的資料,因此無法通過 3-2-1 的考驗。若某個檔案在本機被刪除,無論是出於意外、指令碼錯誤還是勒索軟體,刪除動作都會立即傳到雲端。而若攻擊者在常駐程式執行期間入侵您的系統,他們就能讀取其作用中的工作階段權杖。

CLI 透過啟用定期、排程的備份來解決這個問題。您呼叫它,它執行,它停止,並留下一個安全的時間點還原快照,讓您在本機檔案意外遭刪除或損毀時可以回復。

注意:CLI 本身並非完整的備份解決方案。您仍需自行決定要備份哪些內容、多久備份一次、保留多少個版本,以及如何測試還原。

衝突策略如何管理增量備份

在設計上,CLI 會自動略過未修改的相同檔案以節省頻寬。不過,當檔案確實在本機被修改過時,您必須使用衝突策略告訴 CLI 如何處理。

備份時請避免使用 skip。雖然它能避免重複作業,卻會完全忽略已修改的檔案。請改為選擇符合您保留需求的策略:

--file-conflict-strategy create-new-revision(建議用於備份)會將變更過的檔案以新版本形式上載,並保留其歷史記錄。保留的版本數量取決於您的方案,而版本會佔用儲存空間。

--file-conflict-strategy rename 會在修改後的檔案名稱加上後綴,並保留兩份副本。

--file-conflict-strategy replace 會以新檔案覆寫先前的檔案,舊版本將會遺失。

--file-conflict-strategy skip 會忽略任何已存在於雲端的檔案,因此變更永遠不會被儲存(不建議用於備份)。

增量上載命令範例:

proton-drive filesystem upload ./my-local-data /my-files/Backups/Daily \
--folder-conflict-strategy merge --file-conflict-strategy create-new-revision

設定自動化加密備份:逐步指南

您需要準備的項目:

  • Proton 帳號(免費或付費;適用儲存空間限制)
  • 適用於您平台的 Proton Drive CLI 二進位檔(Linux、macOS 或 Windows)
  • Shell 環境(Terminal、Bash、Sh、PowerShell)
  • 用於自動執行的排程工具:cron(Linux/macOS)或工作排程器(Windows)

步驟 1:登入並執行手動測試

設定自動化之前,請先以互動方式驗證您的裝置:

proton-drive auth login

無頭驗證的運作方式:當您在沒有瀏覽器的伺服器上執行 auth login,例如遠端 VPS 或家中的 Linux 節點,CLI 會印出登入網址。請在任一有瀏覽器的裝置上開啟,例如您的筆記型電腦或手機,並完成登入。伺服器隨後即完成登入。

無頭伺服器 / cron 的提示:對於透過 cron 執行的無頭與自動化系統,建議使用 pass 作為您的憑證儲存區。請使用這個環境變數設定:export PROTON_DRIVE_CREDENTIALS_STORE="pass")。標準作業系統金鑰環(libsecret / GNOME Keyring)仰賴作用中的 GUI 桌面工作階段,而 cron 作業並沒有這類工作階段。設定 pass 可避免 D-Bus 工作階段問題。

步驟 2:撰寫備份指令碼

建立一個 shell 指令碼,例如 backup.sh,用來定義您的來源路徑、處理金鑰環,並執行上載:

#!/usr/bin/env bash
set -euo pipefail

# Define variables
LOCAL_DIR="/var/backups/data"
REMOTE_DIR="/my-files/AutomatedBackups"
export PROTON_DRIVE_CREDENTIALS_STORE="pass"

# Execute idempotent upload
proton-drive filesystem upload "$LOCAL_DIR" "$REMOTE_DIR" \
--folder-conflict-strategy merge \
--file-conflict-strategy create-new-revision \
--json > /var/log/proton-backup-$(date +%Y%m%d-%H%M%S).json

echo "Backup completed successfully at $(date)"

步驟 3:使用 cron 或 systemd 計時器排定備份

如要使用 cron 於每晚凌晨 2:00 執行此備份:

  1. 開啟您的 crontab 編輯器並加入以下內容:
crontab -e
  1. 加入排程執行項目:
0 2 * * * /usr/local/bin/backup.sh >> /var/log/proton-backup.log 2>&1

自動化異地備份的最佳做法

能運作的指令碼只是起點。以下三個習慣可讓您的異地備份保持完整、易於監控,並維持在儲存空間上限之內。

測試您的還原流程:無法還原的備份,就跟沒有備份一樣。請備妥以 proton-drive filesystem download 為基礎的還原指令碼,並定期測試,確保發生事故時仍能正常運作。

以機器可讀格式記錄:在指令碼中加入 --json,即可輸出結構化的 JSON 日誌。之後您可以使用 jq 剖析工作狀態,或在備份失敗時觸發 webhook。

尊重合理使用原則:請勿排定高頻率的上載,例如每 60 秒一次。對異地備份而言,每日或每週排程已經足夠。

您的異地備份,已加密且自動化

備份安全與否,取決於您把備份傳送到哪裡。有了 Proton Drive CLI,每晚的工作都會傳送已加密的異地備份,除了您以外,任何人都無法讀取,攻擊者不行、您的主機服務供應商不行,Proton 也不行。

您享有端對端加密、瑞士隱私法帶來的法律保障,以及經過獨立稽核的開源代碼。您也能完全掌控自己的備份流程:執行什麼、何時執行,以及每個版本保留多久。

設定只需幾分鐘。下載適用於 Linux、macOS 或 Windows 的 CLI,執行第一次手動備份,接著排定排程,之後就不必再操心。