Perfect Backup Solution with Amazon S3 and aws

Dmitri Popov

Productivity Sauce

May 20, 2010 GMT
Dmitri Popov

Amazon S3 provides unlimited storage at low prices, which makes it an ideal solution for storing backups. But to make use of it, you need a piece of software that can actually interact with Amazon S3: create buckets, list the contents of a bucket, upload and download files, etc. And aws, a simple command-line utility written in Perl, is the perfect tool for the job. You might wonder why not use a GUI-based application like Jungle Disk? For two simple reasons: as a CLI-based tool, aws is light on resources and it can be easily scripted.

Before you proceed, you should install the curl utility. On Ubuntu, you can do this using the sudo apt-get install curl command. Next, grab the latest version of the aws script:

curl timkay.com/aws/aws -o aws

Make it then executable and copy it to the /usr/bin directory:

chmod +x aws
sudo cp ~/aws /usr/bin/

Create then an .awssecret file and open it in a text editor like nano:

nano .awssecret

Enter your Amazon AWS credentials (the Access Key ID and the Secret Access Key) as follows:

1B5JYHPQCXW13GWKHAG2
2GAHKWG3+1wxcqyhpj5b1Ggqc0TIxj21DKkidjfz

Save the file and change its permissions:

chmod 600 .awssecret

aws is now ready to go. To create a bucket for your backup use the aws mkdir command (replacing BUCKET with the actual name):

aws mkdir BUCKET

Next, create a tarball of the directory you want to back up using the tar tool:

tar -pvczf tmp/dir.tar.gz /path/to/dir

Finally, upload the created archive to the created bucket:

aws put BUCKET/dir.tar.gz /path/to/dir.tar.gz

The best part is that you don't have to do this manually every time you want to back up a certain directory. Here is a sample script that backs up photos stored on the local hard disk:

#!/bin/bash
cd /home/user/
tar -pvczf Photos.tar.gz Photos
aws put BUCKET/Photos.tar.gz Photos.tar.gz

Tweak the script to your liking, schedule it using cron, and your perfect Amazon S3-based backup solution is ready to go.

Comments

  • New Download Link

    curl https://raw.github.com/timkay/aws/master/aws -o aws
  • Bucket Explorer

    Nice blog..Looks really good.

    You can also try User Interface , which is called Bucket Explorer. Technically, its probably the best solution out there to transfer files to S3 and when you want to be in control, as it has easy to use UI, which is built on top of the robust JetS3t API.

    You can use Bucket Explorer as a simple FTP tool or a backup tool for Amazon S3 or you can use it to:

    1. Browse buckets and the files stored at Amazon S3.
    2. Upload and download files in multiparts, to and from Amazon S3 buckets.
    and many more..

    Bucket Explorer works on every OS where Java is supported. It uses Amazon’s ETag and its own SHA-1 hash combination to make sure that a file is never transferred again to Amazon S3 if is it not changed, to save the bandwidth costs and time.
    http://www.bucketexplorer.com/
  • Not found

    The url given in the article no longer works.

    404 Error File Not Found
  • Amazon S3 Storage

    Amazon AWS is really amazing service provider world wide, You can use many tools as well to manage your data at S3,My own very tool "Bucket Explorer" . Technically, its probably the best solution out there to transfer files to S3 and when you want to be in control, as it has easy to use UI, which is built on top of the robust JetS3t API.

    You can use Bucket Explorer as a simple FTP tool or a backup tool for Amazon S3 or you can use it to:
    It facilitates many features.
    Bucket Explorer works on every OS where Java is supported. It uses Amazon's ETag and its own SHA-1 hash combination to make sure that a file is never transferred again to Amazon S3 if is it not changed, to save the bandwidth costs and time.
  • Other references

    Checkout these url's

    http://jackal777.wordpress....s-a-local-filesystem-in-rhel5/
    http://jackal777.wordpress....22/cpanel-backup-to-amazon-s3/
  • Gui for Linux

    Try this freeware : http://www.dragondisk.com
  • Amazon S3

    Useless for business? On the contrary we have found it EXTREMELY useful!


    1. Store encrypted backups in S3. Unlimited backup storage. Off-site. No changing tapes. Very handy.

    2. We were suddenly and unexpectedly hit with a massive amount of traffic downloading product images from our server. Our bandwidth with our ISP was maxing out and we were looking at very scary (around ten thousand dollars!) overage fees. We uploaded the product images to a bucket named images.ourcompany.com and CNAME'd the record in our DNS to point at S3. Instantly Amazon was virtual hosting images.ourcompany.com for us and we ended up serving it all much faster with no extra load on our servers for only $25 for the whole incident. Customers got the product images, sales skyrocketed during this incident, and I was commended for having come up with a wonderful solution (which is now a permanent arrangement) in a pinch. Yeay!

    I don't work for Amazon or benefit in any way from endorsing them. I'm just a happy corporate customer.
  • firefox

    Isn't the firefox plugin a simpler solution? There is also the even simpler deja-dup, though that only allows you to upload and restore. The firefox plug in lets you look at all the folders though....
  • SpiderOak

    I have found SpiderOak to be reliable. 2GB of storage free, $10 per 100GB per annum, sync any number of directories with any other computers (cross-platform), shared spaces and single-file sharing, encrypted at source, fully automatic.
  • yaaaaawn

    Looks useless for business.
  • Well... no versioning... no diff...

    JungleDisk provides a history and incremental updates with diffs. This means, you save bandwidth and you can get older copies of your backup. But JD has some connection issues on Linux when going online/offline often (laptop). It just cannot get itself properly "fixed" again, when the connection is back. Only a restart helps. So it is worth the money but has room for improvements.
comments powered by Disqus

News