定期进行异地备份可以保护关键数据,使其免受硬件故障、勒索软件和本地灾难的影响。但运行无头服务器或计划脚本的开发者、系统管理员和注重隐私的高级用户,无法依赖通过浏览器或桌面应用手动上传。
随着 Proton Drive CLI(命令行界面)的发布,您可以将 Proton 的零知识端到端加密 (E2EE) 引入云备份自动化中:您的备份脚本和计划 shell 工作流。
要高效使用 CLI,就必须理解它所扮演的角色。本指南将说明为何由 CLI 驱动的备份架构优于持续的后台同步、冲突策略如何处理文件版本,以及如何在 Linux、macOS 和 Windows 上计划完全加密的异地备份。
- 什么是异地备份,它为何重要? 为什么要加密异地备份?
- Proton Drive CLI 中的原子脚本与后台同步
- 冲突策略如何管理增量备份
- 设置自动加密备份:分步指南
- 最佳实践
- 您的异地备份,已加密且自动化
什么是异地备份,它为何重要?
如果备份与数据存放在同一台机器上,那它就算不上真正的备份。硬件会发生故障。勒索软件会加密它所能触及的一切,包括已连接的硬盘。火灾、洪水或盗窃不会区分您的主硬盘和就摆在它旁边的备份硬盘。
3-2-1 备份法则正是为此而生:至少保留 3 份数据副本,存放在至少 2 种不同的介质上,其中至少 1 份位于异地。
那份异地副本理应与您的其他备份和主数据在地理上分离,它是您的最后一道防线,因此必须存放在本地故障无法波及的地方。如果它存放在云中,服务提供商也必须无法读取它。Proton Drive CLI 正是在此发挥作用。
为什么要加密异地备份?
将备份存储在异地意味着把数据托付给第三方:一台不受您控制的远程服务器,由一家所有权或策略可能变更的公司运营,其基础设施可能被传唤调取或遭到入侵。
端到端加密可以解决这个问题。您的文件在离开设备之前就已在设备上完成加密。如果云服务器被攻破,攻击者、服务提供商或任何没有您解密密钥的人都无法从中读取任何内容。
对于通过桌面应用、移动应用和 CLI 上传的一切内容,Proton Drive 默认采用端到端加密。您已加密的异地备份受到与 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
无头身份验证的工作方式:当您在无浏览器的服务器(例如远程 VPS 或家庭 Linux 节点)上运行 auth login 时,CLI 会打印一个登入网址。请在任意带浏览器的设备上打开它,例如笔记本电脑或手机,并完成登入。此后该服务器即处于登入状态。
无头服务器 / cron 提示:对于通过 cron 运行的无头系统和自动化系统,建议使用 pass 作为凭证存储。可通过以下环境变量进行设置:export PROTON_DRIVE_CREDENTIALS_STORE="pass")。标准 OS 密钥环(libsecret / GNOME Keyring)依赖于活动的 GUI 桌面会话,而 cron 作业没有此类会话。设置 pass 可避免 D-Bus 会话问题。
第 2 步:编写备份脚本
创建一个 shell 脚本(例如 backup.sh),用它定义源路径、处理密钥环并执行上传:
#!/usr/bin/env bash
set -euo pipefail
# 定义变量
LOCAL_DIR="/var/backups/data"
REMOTE_DIR="/my-files/AutomatedBackups"
export PROTON_DRIVE_CREDENTIALS_STORE="pass"
# 执行幂等上传
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 "备份已于 $(date) 成功完成"
第 3 步:使用 cron 或 systemd 定时器计划备份
要使用 cron 每晚凌晨 2:00 运行此备份:
- 打开 crontab 编辑器并添加:
crontab -e
- 添加计划执行条目:
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,运行第一次手动备份,然后安排计划任务,从此不必再操心。






