0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

S3のオブジェクト一覧をaws-cliのワンライナーで取得する

Posted at

概要

掲題の通りです。需要があるかはわかりませんが・・・。

経緯

どのオブジェクトが一番容量を食っているか (=どのオブジェクトが一番金食い虫か) をcliのみで手軽に調べるためのコマンドを書きました。
結果的には1バケットずつ見て行った方が早かった気もしますが・・・。

前提・動作環境

Windows10 + Git Bashで動作確認しています。

バケット数・オブジェクト数が多い場合のご利用は自己責任でお願いします。
また、このコマンドではオブジェクト名とサイズは判明しますが、所在までは明らかになりません。

  • Git Bash (Git)
git version 2.34.0.windows.1
  • AWS CLI
aws-cli/1.22.6 Python/3.8.5 Windows/10 botocore/1.23.6

コマンド

aws s3 ls --profile hoge | awk '{print $3}' | sed -r 's#(.*)#aws s3 ls s3://\1 --recursive --profile hoge#g' | bash | sort -k 3nr,3 > s3.txt

出力イメージ

2019-08-29 09:57:21  727810048 hoge.dmp
2019-08-02 16:47:55  144961536 fuga.dmp
...

雑な解説 (左から順に)

もっといい方法や出力を見やすくする方法などがあれば是非教えてください。

  1. aws s3 lsでバケットリストを出力する
  2. awkで1. の結果からバケット名だけ取得する
  3. sedでバケットの内容を表示するためのコマンドを生成する
    1. の結果をbashで実行する
    1. の結果をファイルサイズ (3番目) で降順ソートする
    1. の結果を適当なテキストファイルに出力する

以上、3年と9か月ぶりの投稿でした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?