3

In unity settings, you have a Backups option, there you can choose from Storage Locations: FTP, SSH, WebDAV, Windows Share, Custom Location, Local Folder. Way back there was an option there to backup to the Ubuntu One(Cloud Storage). I'm looking for something similar to upload to MEGA.

I tried all of the aforementioned options, to backup to the site https://mega.co.nz/, but no luck. I also tried via command line using duplicity:

duplicity /home/USERNAME/MEGAsync/ mega://USERNAME:PASSWORD@mega.co.nz/MEGAsync

But, I'm greeted with an error message:

BackendException: Error while authenticating client: -9.

I already installed mega.py:

sudo pip install mega.py
Requirement already satisfied (use --upgrade to upgrade): mega.py in /usr/local/lib/python2.7/dist-packages
Requirement already satisfied (use --upgrade to upgrade): pycrypto in /usr/lib/python2.7/dist-packages (from mega.py)
Requirement already satisfied (use --upgrade to upgrade): requests in /usr/lib/python2.7/dist-packages (from mega.py)
Cleaning up...

I also tried this in a clean install Virtualbox machine just in case something is interfering. But after installing mega.py, and rebooting, I still get the above error.


How do I use MEGA as my Cloud Backup Storage, via the backup settings?

Tried this on :

  • Ubuntu Trusty Tahr 14.04.2, Duplicity 0.6.23, mega.py 0.9.18

    • Error:

    • BackendException: Error while authenticating client: -9.

  • Ubuntu Vivid Vervet 15.04, Duplicity 0.7.01, mega.py 0.9.18

    • Error:

Traceback (most recent call last):
File "/usr/bin/duplicity", line 1500, in
with_tempdir(main)
File "/usr/bin/duplicity", line 1494, in with_tempdir
fn()
File "/usr/bin/duplicity", line 1327, in main
action = commandline.ProcessCommandLine(sys.argv[1:])
File "/usr/lib/python2.7/dist-packages/duplicity/commandline.py", line 1055, in ProcessCommandLine
backup, local_pathname = set_backend(args[0], args[1])
File "/usr/lib/python2.7/dist-packages/duplicity/commandline.py", line 948, in set_backend
globals.backend = backend.get_backend(bend)
File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 221, in get_backend
obj = get_backend_object(url_string)
File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 207, in get_backend_object
return factory(pu)
File "/usr/lib/python2.7/dist-packages/duplicity/backends/megabackend.py", line 44, in init
self.__authorize(parsed_url.username, self.get_password())
File "/usr/lib/python2.7/dist-packages/duplicity/backends/megabackend.py", line 104, in __authorize
self.client.login(email, password)
File "/usr/local/lib/python2.7/dist-packages/mega/mega.py", line 31, in login
self._login_user(email, password)
File "/usr/local/lib/python2.7/dist-packages/mega/mega.py", line 42, in _login_user
raise RequestError(resp)
RequestError: -9

blade19899
  • 26,994

1 Answers1

0

I've solvedthe login problem of duplicity on mega with these steps:

I've create the .megarc file in my $HOME

[Login]
Username = myuser@mydomain.com
Password = the-relative-password

see megarc (5) manual

Then I call duplicity with fake user:

duplicity my_local_dir mega://myuser@mega.nz/MEGA_REMOTE_DIR

duplicity check the existence of .megarc and ignore the login params. Unfortunately the login params is expexted (at the release 7.16) and if it miss duplicity make a mess with path calculations.