Amazon S3はとても便利なストレージです。サーバ系のファイルはもちろんのこと、個人のファイルも不要であればとりあえずS3にアップロードしてしまったり、HTTP公開ができるのでWebサイトのホスティングにも使えます。 そんなAmazon S3へのファイルアップロードに便利なツールがs3cpです。ファイルやディレクトリをまとめて一気にアップロードできます。

s3cpの使い方

s3cpはGoで作られており、バイナリがダウンロードできます。なお今のところWindowsには対応していません。

使い方としてはまず認証情報の登録があります。環境変数や設定ファイルを用いて行います。

export AWS_ACCESS_KEY_ID="hoge"
export AWS_SECRET_ACCESS_KEY="fuga"

ファイルのアップロードは次のように行います。ファイル、バケット、ディレクトリパスを指定します。

$ s3cp [options] < ローカルのファイルパス> < バケット名> < アップロード先S3のディレクトリパス>

ディレクトリも同様です。

$ s3cp -r [options] < ローカルのディレクトリパス> < バケット名> <s3 のディレクトリパス>

実際に行った感じは以下の通りです。

現状はすべてprivateでアップロードされます。ある意味安心かも知れません。20MB以上のファイルは分割し、マルチパートアップロードを行います。さらにレジュームや複数ファイルの同時アップロードにも対応しているので、巨大なファイルをアップロードするのに向いています。

s3cpはGo製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。

masahide/s3cp