Backing up data stored on Amazon S3

I have read about the versioning feature for S3 buckets, but I cannot seem to find if >recovery is possible for files with no modification history. See the AWS docs here on >versioning:

I've just tried this. Yes, you can restore from the original version. When you delete the file it makes a delete marker and you can restore the version before that, i.e: the single, only, revision.

Then, we thought we may just backup the S3 files to Glacier using object lifecycle >management:

But, it seems this will not work for us, as the file object is not copied to Glacier but >moved to Glacier (more accurately it seems it is an object attribute that is changed, but >anyway...).

Glacier is really meant for long term storage, which is very infrequently accessed. It can also get very expensive to retrieve a large portion of your data in one go, as it's not meant for point-in-time restoration of lots of data (percentage wise).

Finally, we thought we would create a new bucket every month to serve as a monthly full >backup, and copy the original bucket's data to the new one on Day 1. Then using something >like duplicity (http://duplicity.nongnu.org/) we would synchronize the backup bucket every >night.

Don't do this, you can only have 100 buckets per account, so in 3 years you'll have taken up a third of your bucket allowance with just backups.

So, I guess there are a couple questions here. First, does S3 versioning allow recovery of >files that were never modified?

Yes

Is there some way to "copy" files from S3 to Glacier that I have missed?

Not that i know of


i dont like to have s3 mounted, because its slow and can hang and performs like old school nfs. better to just up/down as needed.

http://s3tools.org/s3cmd

its easy to script... dont forget your ~/.s3cfg file


Sounds like you might need S3FS which basically mounts your S3 buckets as if they were local file systems:

http://code.google.com/p/s3fs/wiki/FuseOverAmazon

I prefer to use this forked version since it retains the same folder structure as what is created in the web control panel for Amazon S3:

https://github.com/tongwang/s3fs-c

Then I have some shell scripts in place that basically use rsync to sync the data to my local setups.

In general, I find S3FS works best for reading content placed within Amazon S3 buckets. Writing is not as consistent. But for the purposes of backing up S3 buckets, the Tony Wang fork of S3FS works great.