It only took me 20 years..

tl;dr: I now have daily backups of my laptop, powered by Rackspace Cloud Files (powered by Openstack), Deja-Dup, and Duplicity.

I’ve been using computers for a long time. If memory serves, I got my first PC when I was 9, so that’s 20 years ago now. At various times, I’ve set up some sort of backup system, but I always ended up

  • annoyed that I couldn’t acutally *use* the biggest drive I had, because it was reserved for backups,
  • annoyed because I had to go and connect the drive and do something active to get backups running, because having the disk always plugged into my system might mean the backup got toasted along with my active data when disaster struck,
  • and annoyed at a bunch of other things.

Cloud storage solves the hardest part of this. With Rackspace Cloud Files, I have access to an infinite[1] amount of storage. I can just keep pushing data, Rackspace keep them safe, and I pay for exactly how much space I’m using. Awesome.

All I need is something that can actually make backups for me and upload them to Cloud Files. I’ve known about Duplicity for a long time, and I also knew that it’s been able to talk to Cloud Files for a while, but I never got into the habit of running it at regular intervals, and running it from cron was annoying, because maybe I didn’t have my laptop on when it wanted to run, and if I wasn’t logged in, by homedir would be encrypted anyway, etc. etc. Lots of chances for failure.

Enter Deja-Dup! Deja-dup is a project spearheaded by my awesome, former colleague at Canonical, Mike Terry. It uses Duplicity on the backend, and gives me a nice, really simple frontend to get it set up. It has its own timing mechanism that runs in my GNOME desktop session. This means it only runs when my laptop is on and I’m logged in. Every once in a while, it checks how long it’s been since my last backup. If it’s more than a day, an icon pops up in the notification area that offers to run a backup. I’ve only been using this for a day, so it’s only asked me once. I’m not sure if it starts on its own if I give it long enough.

A couple of caveats:

  • Deja-dup needs a very fresh version of libnotify, which means you need to either be running Ubuntu Natty, use backported libraries, or patch Deja-dup to work with the version of libnotify in Maverick. I opted for the latter approach.
  • I have a lot of data. Around 100GB worth. Some of it is VM’s, some of it is code, some of it is various media files. Duplicity doesn’t support resuming a backup if it breaks halfway, and I “only” have 8 Mbit/s upstream bandwidth.. That meant I had to stay connected to the Internet for 28 hours straight (in a perfect world) and not have anything unexpected happen along the way. I wasn’t really interested in that, so I made my initial backup to an external drive and I’m now copying the contents of that to Rackspace at my own pace. I can stop and resume at will. The tricky part here was to get Deja-Dup to understand that the backup it thinks is on an external drive really is on Cloud Files. I’ll save that for a separate post.

[1]: Maybe not actually infinite, but infinite enough.

13 thoughts on “It only took me 20 years..

  1. Pingback: Tweets that mention It only took me 20 years.. | Linux2Go -- Topsy.com

  2. Pingback: It only took me 20 years.. | StorageDrive.Org

  3. Soren Post author

    Sure thing. The patch I applied to the package is here: http://pastebin.com/Xsawgi4S

    Some of it is autogenerated, but if you’re applying it to the source package, you need all of this. If you’re applying it to a bzr checkout, you only need the configure.ac, deja-dup/StatusIcon.vala, and monitor/monitor.vala parts.

    I’ll be putting a package in a PPA on Monday. I just wanted to actually post something for once instead of writing another blog post that I never feel is quite finished and let it sit there and rot. :)

  4. Stefan

    Deja-Dup has been in the standard Ubuntu repositories from Karmic (at least that’s the time I started using it). So you don’t need Natty to run it. The version that comes with Lucid runs quite well here.

  5. Soren Post author

    Stefan: Yes, I know. That’s probably around the time when I used it first. :) It’s not until this release, though, that it’s been able to use Rackspace Cloud Files as its backend. I never got very good performance from Amazon S3, so I didn’t really want to use that. For something like this, it should be my bandwidth that’s the limiting factor. Nothing else.

  6. Ian Barton

    I am already suing duplicity to backup to a local usb drive. Since I have very limited upstream bandwidth on an ADSL line, I would like to be able to transfer from my usb drive to Cloud Files. Normally would do this using rysnc, but it seems that Cloud Files doesn’t understand rsync, so I was wondering how you transferred your files?

    What I want is something I can resume if the connection drops, withou having to start from the beginning again.

    Ian.

  7. Soren Post author

    Ian, I’m working on a blog post on the subject right now, actually. Have patience :)

  8. Pingback: Moving duplicity (and Deja-Dup) backups | Linux2Go

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>