Introducing s3fuse, a FUSE driver for Amazon S3
I temporarily lost access to some data not very long ago as a result of an unplanned outage, and the incident woke me up to the utility of offsite backup. I wanted something I could mount as a local file system under Linux, that I could access over the Web, and that was backed by a reasonably-reliable data storage infrastructure. There are some decent options out there — I eventually settled on Jungle Disk, which has Windows, Linux, and MacOS clients, as well as a Web client. Unfortunately, after a few weeks of use, an outage resulted in the loss of a non-trivial chunk of my Jungle Disk data. This prompted me to look into using Amazon’s S3 directly (rather than through Jungle Disk). There are several FUSE drivers for S3 in existence, but I wanted something written from the ground up with support for concurrent requests and extended attributes, and with a directory structure compatible with what Amazon’s S3 Web client expects. I also wanted to learn about Amazon Web Services and libcurl.
The end result is s3fuse, my FUSE driver for Amazon S3. It’s very much alpha-level, but it has the features I need and is reliable enough for my purposes. Try it out, feel free to comment, make changes, and report bugs.