Amazon S3はAWSの各種サービスと連携させると便利ですが、単にバックアップ目的としても十分便利に使えます。そんな時に使うのがクライアントソフトウェアであったり、Webの管理画面です。 多数のファイルを一気にアップロードしたりダウンロードするのにWeb管理画面は使い勝手が良くないでしょう。そこで使いたいのがCLIのs5cmdです。

s5cmdの使い方

s5cmdではサブコマンドを使ってファイル操作ができます。まずはバケットの一覧としてlsを使います。

$ s5cmd ls
                    + 2017/02/14 04:34:05  s3://ai-hackathon.moongift.jp
                    + 2015/02/05 00:09:07  s3://devrel.jp
                    + 2015/07/26 03:44:40  s3://moongift.co.jp
                      :
2017/09/04 17:52:11 +OK "ls" (20)

ファイルのアップロードも簡単です。

$ s5cmd cp README.md s3://devrel.tokyo/
                    # Uploading README.md... (3006 bytes)
2017/09/04 17:53:16 +OK "cp README.md s3://devrel.tokyo/README.md"

削除もできます。

$ s5cmd rm s3://devrel.tokyo/README.md 
2017/09/04 17:54:39 +OK "rm s3://devrel.tokyo/README.md"

s5cmdを使えばローカルのファイルをS3にアップロードしたり、逆にダウンロードするのが簡単にできます。Cronなどを使って自動操作をしたり、処理結果のログファイルをアップロードしたりするのに良さそうです。

s5cmdはGo製のオープンソース・ソフトウェア(MIT License)です。

peakgames/s5cmd: Parallel S3 and local filesystem execution tool.