You should enable S3 buckets versioning:
Versioning offers an additional level of protection by providing a
means of recovery when customers accidentally overwrite or delete
objects. This allows you to easily recover from unintended user
actions and application failures.
I would also recommend you take a look at my project: RiFS, a userspace filesystem to mount Amazon S3 buckets. Our project is an alternative to “s3fs” project, main advantages comparing to “s3fs” are: simplicity, the speed of operations and bugs-free code. Currently the project is in the “beta” state, but it's been running on several high-loaded fileservers for quite some time.
Hope it helps !