S3のログから日付とアクセス元を漁るコマンドライン
プロローグ
S3のログ、見たいと思ったんだよね。アクセス時間と、アクセス元を。
やったこと
ターミナル開く
aws-cliをいれて設定などする
brew aws-cli
,aws configure
詳しくは: http://docs.aws.amazon.com/ja_jp/streams/latest/dev/kinesis-tutorial-cli-installation.html#config-cli- ログを取ってくる
あらかじめ保存先ディレクトリを用意して移動しておいて、
aws s3 cp --region ap-northeast-1 s3://バケット名/ . --recursive
参考: S3 から ファイルをAWSCLIでディレクトリごとダウンロード - Qiita - ファイル結合
find . -type f -exec cat {} + > 保存先のファイルパス
参考: shell - cat files in current folder and all subfolders - Unix & Linux Stack Exchange - 目的の文字列を抽出
cat 保存したログのパス | cut -d ' ' -f 3,9,20 | grep 抽出したいアクセス元の名前 > 保存先のファイルパス
まぁ大方はこんな感じ。cut -d ' ' -f
に指定する数字は必要に応じて調節すると良い。デリミタ(この場合空白 ‘ ')で区切った前から何番目という感じで指定できる。grepで特定のものに絞り込みたくない場合は、pecoに食わせてもいいかもね。
cat 保存したログのパス | cut -d ' ' -f 3,9,20 | peco
エピローグ
昨日は雪が降ってた