Note: I've rebuild this tool using GO, which I think makes more sense for this job. If you are interested, the GO version is at https://github.com/tscolari/s3kup. It has a few extra features, like listing and downloading.
Ruby gem/command line tool for Incremental backuping to AWS S3.
My motivation for this was to be used in a backup container for docker. But it's a command line that can be used in any platform.
It will store a
manifest.yml file in the root of the bucket, containing all
file names and digests. On backup this file will be matched with a on time
generated one, only updated/new files will be pushed to the bucket, and files
that no longer exists will be deleted.
There's no versioning, but you could use s3 built in versioning.
gem install s3ckup
Usage: s3ckup OPTIONS --folders folder1,folder2,... -k, --aws-key-id KEY_ID AWS key id -a, --aws-access-key ACCESS_KEY AWS access key -b, --s3-bucket BUCKET_NAME S3 bucket name -r, --recursive Recursive mode -v, --verbose Verbose -f FOLDER1,FOLDER2,FOLDER3..., Folder list, separated by ',' --folders
s3ckup -k $AWS_KEY -a $AWS_SECRET -b my_backup_bucket -r -f /myapp/uploads,/mydb/data