複数アカウントでs3cmdを使う方法

  • 12
    Like
  • 0
    Comment
More than 1 year has passed since last update.

結論

  1. 設定ファイルを複数作成します。

    .s3cfg-account1
    .s3cfg-account2
    
  2. エイリアスを設定します。

    ~/.bashrc
     alias s31='s3cmd -c ~/.s3cfg-account1'
     alias s32='s3cmd -c ~/.s3cfg-account2'
    

    設定は各自利用している設定ファイルを変更して下さい。zshの人は~/.zshrc等。

  3. 後は設定したエイリアスで複数アカウントのs3へアクセスしましょう。

    $ s31 ls
    2014-12-09 11:05  s3://bucket1
    2015-02-03 12:16  s3://bucket2
    $ s32 ls
    2015-01-07 10:00  s3://bucket3
    2014-11-25 09:04  s3://bucket4
    

詳細

S3cmdとは主にAmazon S3をCLIから利用するのに便利なコマンドラインツールです。

$ s3cmd ls

とするとs3のbucket一覧が見れたりします。

$ s3cmd --configure

でAWSのAccessKeyとSecretAccessKeyを設定すれば~/.s3cfgが生成されます。

どのアカウントか分かるようにリネームして必要なだけ.s3cfgファイルを作成すれば良いです。

Tips

s3cmd --configureで以下のエラーが出る時の対策

ERROR: Test failed: GPG program not found
  1. GPGをインストール

    $ brew install gpg
    
  2. GPGのpathを取得

    $ which gpg
    /usr/local/bin/gpg
    
  3. GPGのpathをs3cmd --configureで入力

    $ s3cmd --configure
    Path to GPG program [None]: /usr/local/bin/gpg