Project idea for Linux desktops: backup creation

In the course of writing my talk for SLUG tonight, the following idea occurred to me.

Scenario: I am a desktop/laptop user without cron/commandline fu (caution to people picking this entry up without knowing me: I am not actually a desktop/laptop user without cron/commandline foo: I am fully fu-ed up and just pretending). I want to backup my stuff. I don’t want pain. So, I buy a big external hard drive. I plug it in. Up pops a helper/notification/whatever saying “would you like to use this drive as a backup drive?” I select ‘Yes’, do as little configuration as I can humanly get away with, and it is now my backup drive. Every time I plug it in in future, a (non-system destroyingly intensive) backup begins. I do not have to even contemplate anything named ‘udev’ or any commandline tool whose name begins with ‘r’.

Obviously there needs to be a nice easy way to do partial restores too in the event that I accidentally delete my desktop. In the event of media failure, I should be able to pop in a new internal hard drive, boot from a LiveCD and be invited to plug in my backup drive if I have one, and the system is then restored to the new hard drive… and already know about the backup disk for ongoing backups!

Random things that would be nice:

  • integration with my ‘Trash’: things that are on the backup drive don’t need to remain in the local Trash, and perhaps I should be able to see backed up stuff in my Trash folder when the drive is plugged in… and have the option to restore more than the most recent version!
  • sane command-line interfaces to all this, so the fu-ed up can join the fun
  • network backup as well/instead of local drive backup

Time Machine for MacOS (which I was only aware of by name before just now, when I wrote most of this entry and then went and looked at it) seems to be more or less the equivalent of this, and has some other desirable features:

  • doing backups as long as the drive stays plugged in
  • automatically cleaning up old increments
  • skipping caches (oh ~/.thumbnails, how giant you are)

I don’t care so much about the visualisation of my system as it changes over time, but what the hell, it sounds cool anyway.