I’ve created a tool creating backups on a s3 bucket, I called it s3kup. It’s written in GO and very straightforward to use. It’s somehow a rewrite of an old ruby gem I had for the same purpose.
It’s a command that can take any input from a shell pipeline and store it in a versioned way in a s3 bucket. s3kup has 3 basic commands: push, pull and list.