我一直在尝试将双重备份用于备份到Google云端硬盘。但看起来它仍然使用旧的客户端API。
我发现一些帖子说应该支持新的API但没有太多关于如何让它工作的细节。
我得到了编译和使用duplicity 7.0.3,但后来我收到了这个错误:
BackendException: GOOGLE_DRIVE_ACCOUNT_KEY environment variable not set. Please read the manpage to fix.
是否有人设置双重性以使用Google云端硬盘并知道如何执行此操作?
答案 0 :(得分:14)
现在谷歌已经开始强迫客户使用OAuth,使用谷歌硬盘作为备份目标实际上已经非常混乱。我发现an excellent blog post让我走过它。突出的步骤是:
PyDrive是允许Duplicity使用OAuth访问云端硬盘的库。
pip install pydrive
应该足够了,或者您可以通过您的发行版包管理器。
导航至the Google Developer Console并登录。创建一个项目,然后从顶部工具栏的下拉列表中选择它。
现在选择"启用API和服务"仪表板上的按钮,应该已经被拉起,但如果没有,则在左边的汉堡菜单中。
搜索并启用Drive API。启用后,您可以实际创建令牌。选择"凭证"从左侧导航栏中,点击"添加凭证" > " OAuth 2.0客户端ID。"将应用程序类型设置为"其他。"
创建凭据后,单击它以查看详细信息。将显示您的客户端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
)。
需要在GOOGLE_DRIVE_SETTINGS
环境变量中为Duplicity指定此文件的名称。所以你可以像这样调用双重性:
GOOGLE_DRIVE_SETTINGS=gdrive duplicity <...>
或者如果你正在使用Duply,你可以在Duply配置文件中export
这个变量:
export GOOGLE_DRIVE_SETTINGS=gdrive
首次运行Duplicity将开始OAuth流程;您将获得一个访问链接,该链接将要求您在之前在控制台中创建的应用的权限,以访问您的云端硬盘帐户。接受,它将为您提供另一个身份验证令牌以粘贴回终端。授权信息将与.cache
设置文件一起保存在gdrive
文件中。
此时你应该好好去,Duplicity应该正常行事。祝你好运!