Skip to content

Latest commit

 

History

History
40 lines (23 loc) · 1.39 KB

README.md

File metadata and controls

40 lines (23 loc) · 1.39 KB

S3 Version Restore

Point-in-time recovery of an S3 bucket.

This tool iterates over all objects in a bucket and restores versions at a given timestamp.

How it works

It modifies the version information in place, so objects are never downloaded/uploaded.

Version information is always added, so information is never lost. Object versions are restored by creating a new version with the desired contents.

It is safe to use multiple times to restore different time points.

Environment variables

You can use AWS standard environment variables. You will typically want to declare AWS_ACCESS_KEY_ID and AWS_ACCESS_KEY.

You can also define AWS_ENDPOINT_URL_S3 to specify a custom S3 endpoint.

Note: endpoint URLs are currently specified but the Go AWS SDK does not implement them, so we implement AWS_ENDPOINT_URL_S3.

Building

go build

There is also a build.sh file to build for multiple platforms.

Support

This tool is open source and free to use (see LICENSE), but you can get commercial support from Beenario GmbH for a fee. Contact us if you're interested.

Acknowledgements

The inspiration for this tool came from angeloc/s3-pit-restore, although it didn't work for our use case.