如何使用duplicity备份到Google云端硬盘?

我一直在试图将备份到备份到谷歌驱动器.但看起来它仍然使用旧的客户端API.

我发现一些线程说应该支持新的API,但没有太多关于如何使它工作的细节.

我得到了编译和使用duplicity 7.0.3,但后来我得到了这个错误:

BackendException: GOOGLE_DRIVE_ACCOUNT_KEY environment variable not set. Please read the manpage to fix.

是否有人设置双重性以使用Google云端硬盘并知道如何执行此操作?

既然谷歌已经开始强迫客户使用OAuth,那么使用谷歌硬盘作为备份目标实际上已经非常混乱.我发现 an excellent blog post让我走过了它.突出的步骤是:

安装PyDrive

PyDrive是允许Duplicity使用OAuth访问Drive的库.

pip install pydrive

应该足够了,或者你可以通过你的发行版包管理器.

创建API令牌

导航到the Google Developer Console并登录.创建一个项目,然后从顶部工具栏的下拉列表中选择它.

Choosing duplicity project

现在选择仪表板中的“启用API和服务”按钮,该按钮应该已经上拉,但如果没有,则在左侧的汉堡菜单中.

搜索并启用Drive API.启用后,您可以实际创建令牌.从左侧导航栏中选择“凭据”,然后单击“添加凭据”> “OAuth 2.0客户端ID.”将应用程序类型设置为“其他”.

Creating credential

创建凭据后,单击它以查看详细信息.将显示您的客户端ID和密码.记下它们.

Credential screen

配置Duplicity

呼.是时候实际配置程序了.将以下内容粘贴到文件中,将您的客户端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 /<服务器名称> / gdrive).

需要在GOOGLE_DRIVE_SETTINGS环境变量中为Duplicity指定此文件的名称.所以你可以这样调用duplicity:

GOOGLE_DRIVE_SETTINGS=gdrive duplicity <...>

或者,如果您正在使用Duply,则可以在Duply配置文件中导出此变量:

export GOOGLE_DRIVE_SETTINGS=gdrive

第一次运行Duplicity将开始OAuth流程;您将获得一个访问链接,该链接将询问您之前在控制台中创建的应用的权限,以访问您的云端硬盘帐户.接受,它将为您提供另一个身份验证令牌以粘贴回终端.授权信息将与gdrive设置文件一起保存在.cache文件中.

此时你应该好好去,Duplicity应该正常行事.祝好运!

相关文章
相关标签/搜索