现在 Google 已经开始强制客户使用 OAuth,使用 Google Drive 作为备份目标实际上变得非常混乱。我找到了一篇出色的博客文章,引导我完成了它。主要步骤是:
安装 PyDrive
PyDrive 是允许 Duplicity 使用 OAuth 访问 Drive 的库。
pip install pydrive
应该足够了,或者你可以通过你的发行版的包管理器。
创建 API 令牌
导航到Google Developer Console并登录。创建一个项目并从顶部工具栏的下拉菜单中选择它。
现在选择仪表板中的“启用 API 和服务”按钮,该按钮应该已经被拉起,但如果没有,则在左侧的汉堡菜单中。
搜索并启用 Drive API。启用后,您实际上可以创建令牌。从左侧导航栏中选择“凭据”,然后单击“添加凭据”>“OAuth 2.0 客户端 ID”。将应用程序类型设置为“其他”。
创建凭据后,单击它以查看详细信息。将显示您的客户 ID 和密码。记下它们。
配置重复性
唷。是时候实际配置程序了。将以下内容粘贴到文件中,将您的客户端 ID 和密码替换为上面控制台中的那些。
client_config_backend: settings
client_config:
client_id: <your client ID>.apps.googleusercontent.com
client_secret: <your client secret>
save_credentials: True
save_credentials_backend: file
save_credentials_file: gdrive.cache
get_refresh_token: True
(我使用的是优秀的Duply前端,所以我将它保存为~/.duply/<server name>/gdrive
)。
Duplicity 需要在GOOGLE_DRIVE_SETTINGS
环境变量中给出这个文件的名称。所以你可以像这样调用重复:
GOOGLE_DRIVE_SETTINGS=gdrive duplicity <...>
或者,如果您使用的是 Duply,您可以export
在 Duply 配置文件中使用此变量:
export GOOGLE_DRIVE_SETTINGS=gdrive
第一次运行 Duplicity 将开始 OAuth 过程;您将获得一个访问链接,该链接将请求您之前在控制台中创建的应用程序访问您的云端硬盘帐户的权限。接受,它将为您提供另一个身份验证令牌以粘贴回终端。授权信息将与设置文件.cache
一起保存在一个文件中gdrive
。
在这一点上,您应该一切顺利,并且 Duplicity 应该正常运行。祝你好运!