将文件写入 Mega 时,“'Mega' 对象没有属性 'get_name_from_file'”

max*_*max 2 deja-dup duplicity

我正在尝试将 deja-dup 系统备份到我的https://mega.co.nz帐户

1- Déjà dup = 强大的 Duplicity 的 Ubuntu 简单前端 2- Duplicity 声明它从 v0.6.23 版本开始支持 Mega(通过 mega:// URI)

---使用 Duplicity v0.6.23----

命令

duplicity /test mega://myemail%40yahoo.com:mypassword@mega.co.nz/test
Run Code Online (Sandbox Code Playgroud)

在我的 Mega 目录中成功写入文件,但显示以下错误:

Traceback (most recent call last):
  File "/usr/bin/duplicity", line 1489, in <module>
    with_tempdir(main)
  File "/usr/bin/duplicity", line 1483, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 1332, in main
    do_backup(action)
  File "/usr/bin/duplicity", line 1361, in do_backup
    sync_archive(decrypt)
  File "/usr/bin/duplicity", line 1094, in sync_archive
    remlist = globals.backend.list()
  File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 429, in list
    return map(tobytes, self._list())
  File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 330, in iterate
    return fn(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/duplicity/backends/megabackend.py", line 115, in _list
    % (self.__get_node_name(self.folder), str(e)), raise_errors)
  File "/usr/lib/python2.7/dist-packages/duplicity/backends/megabackend.py", line 139, in __get_node_name
    return self.client.get_name_from_file({handle:files[handle]})
AttributeError: 'Mega' object has no attribute 'get_name_from_file'
Run Code Online (Sandbox Code Playgroud)

---使用 Déjà Dup 30.0----

在“存储”选项卡中,我选择

  • 备份位置:自定义位置

  • URI:mega://myemail%40yahoo.com:mypassword@mega.co.nz/test

但它会产生错误“备份失败:位置不可安装”

您知道使用 Déjà Dup(或无错误的 Duplicity)为 mega.co.nz 创建简单备份解决方案的任何解决方案吗?

谢谢你的帮助!

小智 5

这是古人的智慧之一

所以,嗯...

亲爱的未来的人们,这是我们迄今为止发现的:

Python 模块的代码似乎已被弃用。页面上有一个链接说有更新的东西,但那个链接是 404s。

我正在使用 Debian Jessie,但我认为它应该与 Ubuntu 类似。您需要/usr/local/lib/python2.7/dist-packages/mega/mega.py在您使用的任何文本编辑器中以 root身份编辑文件。然后在下面添加以下代码class Mega(object):

def get_name_from_file(self, file):
    for key, value in file.items():
        if 'a' in value and 'n' in value['a']:
             return value['a']['n']
    raise RequestError("Could not find the file attribute.")
Run Code Online (Sandbox Code Playgroud)

它似乎使它如此双重实际上可以恢复它在 Mega 上备份的文件......如果你需要它可能有点重要。