Backing up to S3

I recently setup an automated backup system for my (and my wife’s) blog.1 Based on the recommendation of Mr O’Grady (and my belief that RESTful architectures are a good way to solve most problems) I decided to use Amazon’s S3 as the off site storage. I did not to take the same approach as RedMonk, however, because I wanted to play with S3 a bit more directly.

After playing with it I have to say that I am very impressed. S3’s RESTful API is powerful while being simple enough get started with right away. The Ruby AWS::S3 library makes it even easier to get started by providing a nice, idiomatic, wrapper around S3’s functionality.

My backup solution ended up being a 20 line ruby script2 that dumps a database, compresses the dump and then pushes it to S3. That combine with a couple of crontab entries and I was done.

It gets better, though. I got my first bill today:

Greetings from Amazon Web Services,

This e-mail confirms that your latest billing statement is available on the AWS web site. Your account will be charged the following:

Total: $0.02

Please see the Account Activity area of the AWS web site for detailed account information:

So there you go, a secure remote backup for only 2 cents (and a couple of hours of my time). I think these web service things may be around to stay.


  1. I cannot believe it took me so long to get around to that.

    </li>

  2. That 20 lines includes nice command line argument parsing, too, thanks to Main (maybe when it grows up it will get a website of it’s own).

    </li> </ol> </div>