Amazon S3 storage is one of the best ways to backup data or store files for your web application in a secure reliable way. One of the greatest benefits of using S3 is that it’s a simple way to not only store large files, but a great way to provide a very fast downloading experience for your end users. In order for you to use Amazon S3 storage you will need to create an account and set yourself up, more information about S3 can be found on the official site.
We’ve had big issues with finding a good way to interact with the APIs that were out there to put large files up in S3, so we wrote our own in C. The usecase here was that we wanted an easy and reliable way to send large files (100M – 2G) to S3 and know for sure if it made it there or not. Our program forks() itself and has an extra optional argument you can pass to it which serves as a callback URL. The tool is called S3Ninja and is available for download at http://s3ninja.wordpress.com/
s3ninja [access_key_id] [secret_access_key] command [arguments]