s3cmd というツールを使うと、ディレクトリの中身を丸ごと(再帰的に)アップロードすることができます。 使い方は非常に簡単で、これだけです。 $ s3cmd put --recursive /path/to/mydir s3://bucketname/foo/bar/ または $ s3cmd put --recursive /path/to/mydir/ s3://bucketname/foo/bar/mydir/ 1行目と2行目は同じ意味です。 (ローカルディレクトリ名の末尾のスラッシュに要注意。rsyncの場合と同じです。) コマンドラインやシェルスクリプトなどから実行するときは非常に便利です。 よかったら試してみてください。 s3cmd 公式サイト: http://s3tools.org/s3cmd ただ欠点が1つあって、大量のファイルをアップロードしようとすると非常に時間がかかり