Ask HN: If you use Ubuntu, which backup utility you use?

9 points by anujkk ↗ HN
If you use Ubuntu Linux on your development machine, how do you backup your system? I'm looking to put a backup & recovery system in place for my laptop that runs Ubuntu 12.04.

10 comments

[ 3.7 ms ] story [ 31.6 ms ] thread
I prefer doing some backups manually and automating others. I usually manually backup my projects/files on a flash stick/external hdd/NAS/dropbox. I don't have anything against CVS - I regularly use git and svn. Given git's snapshot based model, I think if it's on git it's probably not neccessary to create snapshots and storing them (rar/tarballs etc.).

In terms of environment, I prefer to create a folder and store installers and patches (ex. environment/dev, environment/install) - specifically the most recent ones.

A lot of devs I know prefer to doing their development on virtual machines and backing up the entire VM (think isolated dev environment). I personally, find it too slow. I prefer having everything I need available in order to do a fresh install if required (some other OSes tend to optimize for current hardware during installation).

I use Dropbox, I'll tell you why:

- It integrates nicely with Ubuntu's unity UI. You get a nice tray icon that shows when files are being uploaded / downloaded, what % the transactions are at, how fast they're going, ETA, etc.

- It never ever fails to work.

- It begins uploading files as soon as they're added to a Dropbox folder.

- It allows you to restore deleted files via the web interface.

- You can easily share files by right clicking folders in Nautilus.

- It syncs across as many devices you want (multiple laptops, desktops, etc.).

I've tried many options:

- Manual backups via rsync, tarballs, etc. This is generally a bad idea as they take work to setup each time you format your system or get onto a new box, and that's just one more chance for error.

- Ubuntu One. This is essentially a ubuntu sponsored Dropbox. In my experience it is VERY buggy. If you have more than 100 or so files backed up it will act oddly: won't immediately backup files, will download only some of your files, crashes often and stops uploading / downloading backups silently (without any messages).

A simple cron job sends select directory contents to other partitions and redundant cloud storage. Encrypted and compressed.
I just use Amazon S3 using a utility to transfer files called s3cmd (http://s3tools.org/s3cmd). I have a small 4 line bash script that does all the compression and transfer. (I do not use encoding for security yet).

It is easy, fast, reliable and cheap.

I like the setup even more now, because I plan to move my archives to Amazon Glacier. There is an s3 import/export feature that will be launched quickly to do this from the console.

I am sure it is already possible to do this completely automated using cron (actually I use upstart jobs that are scheduled with cron for other tasks).

rdiff over a secondary non-mounted hard disk and cron
I use Debian, but the tool I use (DejaDup) is also available in Ubuntu:

https://live.gnome.org/DejaDup

https://launchpad.net/deja-dup

It's duplicity, but with easy graphical configuration. I previously used command-line duplicity with a custom Bash script, but realized that the program had matured substantially since I last tried it in 2008.

rsnapshot onto a portable hard drive, that I take home each night.

The hard drive is encrypted with Truecrypt in case someone gets their mitts on it.