s3cmdを使えばバケットを作成したりファイルやフォルダをアップロードしたり公開設定を指定したりといった事が簡単にできる。
s3cmdをインストールする
$ brew install s3cmd
初期設定
$ s3cmd --configure
Access Key S3のアクセスキー指定
Secret Key S3のシークレットアクセスキーを指定
Encryption password GPG encryptionを用いる事でデータを暗号化してくれる。(とりあえず空欄でおk)
Path to GPG program [/usr/bin/gpg] GPGの場所を指定。(とりあえず空欄でおk)
Use HTTPS protocol [No] S3への通信をHTTPSにするか否か
HTTP Proxy server name Proxyを使う場合はその指定
あとはSave Settingで'y'と入力すれば設定完了。
バケットの確認
これでバケット一覧が出るはず!!
$ s3cmd ls
アップロード
$ s3cmd put --recursive /path/to/folder s3://<bucket-name>/path/to/folder
※ファイル単体をアップロードしたい場合は
$ s3cmd put /path/to/file s3://<bucket-name>/path/to/file
以上。
補足追記
アップロードの所は、自分は putオプションではなく、syncを使う方がメジャーかも。
カレントディレクトリ直下のフォルダを丸ごと同期する
s3cmd sync . s3://BUCKETNAME/
同期したBucketのパーミッションを全て読み取り専用に変更する
s3cmd setacl -r --acl-public s3://BUCKETNAME