taiki-t's diary

React Native, Rails そして雑多な記録: The world is waiting for you to give it a meaning.

S3のログから日付とアクセス元を漁るコマンドライン

プロローグ

S3のログ、見たいと思ったんだよね。アクセス時間と、アクセス元を。

やったこと

  1. ターミナル開く

  2. aws-cliをいれて設定などする
    brew aws-cli, aws configure
    詳しくは: http://docs.aws.amazon.com/ja_jp/streams/latest/dev/kinesis-tutorial-cli-installation.html#config-cli

  3. ログを取ってくる
    あらかじめ保存先ディレクトリを用意して移動しておいて、
    aws s3 cp --region ap-northeast-1 s3://バケット名/ . --recursive
    参考: S3 から ファイルをAWSCLIでディレクトリごとダウンロード - Qiita
  4. ファイル結合
    find . -type f -exec cat {} + > 保存先のファイルパス
    参考: shell - cat files in current folder and all subfolders - Unix & Linux Stack Exchange
  5. 目的の文字列を抽出
    cat 保存したログのパス | cut -d ' ' -f 3,9,20 | grep 抽出したいアクセス元の名前 > 保存先のファイルパス

まぁ大方はこんな感じ。cut -d ' ' -fに指定する数字は必要に応じて調節すると良い。デリミタ(この場合空白 ‘ ')で区切った前から何番目という感じで指定できる。grepで特定のものに絞り込みたくない場合は、pecoに食わせてもいいかもね。

cat 保存したログのパス | cut -d ' ' -f 3,9,20 | peco

エピローグ

昨日は雪が降ってた