我将所有工作都保存在我的 Dropbox 帐户中,并且通常一次仅将其中约 20% 存储在本地。
我想购买一个大容量的外部硬盘并将所有内容备份到那里以确保安全,但我的硬盘上没有足够的空间来下载我的所有内容然后将其复制到外部硬盘上。
唯一的解决方案是一次手动备份一个文件夹吗?
请记住这也是在 Mac 上(但我认为这个论坛更适合)
答案1
如何将 Dropbox 在线内容直接备份到硬盘?
我的个人经验表明您可能需要自己编写解决方案。
Dropbox 有一个 API,允许从命令行直接访问文件,但使用起来可能不太理想。简而言之,对于下面提供的两个建议,我还没有找到一种简单的方法来告诉 Dropbox 下载“所有内容”,从根文件夹开始,然后继续下载子文件夹。
命令行工具
dbxcli
适用于多种操作系统的独立、编译版本可从其官方 GitHub 发布页面。请注意,主页上有 Mac OSX 安装说明。
要下载“所有内容”,我发现需要包装dbxcli
在脚本中,以便我可以解析其输出(由于dbxcli
选择如何格式化该输出,这带来了自己的挑战)。然后,我能够收集有关我的 Dropbox 帐户内容的所有相关数据,并指示dbxcli
(反复)下载正确的文件/文件夹。如果您已经有要下载的文件的文本列表,这可能会更简单。
dropbox(Python)
Python是一种用户友好的跨平台脚本语言,具有许多可选的附加功能,称为“模块”。其中一个模块是保管箱,Dropbox 的官方 Python Dropbox API 模块。
该模块的缺点dropbox
最终归结为更复杂。您将需要:
对 Python 有一定了解(或愿意学习)。
自行处理登录。
捕获 API 可能向您抛出的任何异常(我遇到的一个常见异常是
StoneValidtor
,我还不清楚如何捕获它)。特别处理长文件名/路径(假设这对您来说是一个问题)。
以特殊方式处理带有 Unicode 字符的名称,取决于您是否使用 Windows
cmd
。
除此之外,Dropbox API 文档似乎完全针对开发人员。需要整理大量技术数据,但总体使用示例却很少。
此外,您仍然需要自己递归处理收集 Dropbox 文件夹/文件名,并以自动方式重复下载这些文件。
作为一种“两全其美”的方法,dropbox
可用于递归收集文件夹/文件信息,然后将其输入到dbxcli
。这可能会减少单独使用任一解决方案时出现的一些烦人问题。