特定のIPアドレスからのアクセスを抽出する
grep "^188.92.76.167" access_log-20140907
or
cat access_log-20140907 | grep "^188.92.76.167"
特定のIPアドレスからのアクセスを抽出し CSS やらへのアクセスを除外する
grep "^188.92.76.167" access_log-20140907 | grep -ive "GET /.*\.\(css\|js\|jpg\|gif\|png\|swf\|ico\)\ HTTP"
特定のIPアドレスからのアクセスを抽出し CSS やらへのアクセスを除外し、さらにリアルタイムに監視する
tail -f access_log-20140907 | grep "^188.92.76.167" | grep -ive "GET /.*\.\(css\|js\|jpg\|gif\|png\|swf\|ico\)\ HTTP"
特定ファイルへのアクセス数を抽出する
$ cat /var/log/httpd/access.log | grep favicon.ico | wc -l
特定のIPアドレスからのアクセスを抽出し CSS やらへのアクセスを除外し、さらにはbotも除外する
grep "^188.92.76.167" access_log-20140907 | grep -ive "GET /.*\.\(css\|js\|jpg\|gif\|png\|swf\|ico\|Baiduspider|server-status|Ask Jeeves|Yeti|Yahoo!Slurp|Mediapartners-Google|Googlebot|Plagger|Twiceler|Y!J-BSC|Feedfetcher-Google|AMZNKAssocBot|livedoor HttpClient|Fastladder FeedFetche|FreshReader)\ HTTP"
今回はgrep, cut, awk, sort, uniq, wc などを利用した。
各コマンドの詳細については以下を参考にした。
参考
- バシャログ コマンドラインでアクセスログを解析するワンライナー
- [アクセス解析で便利だったコマンド集]
(http://bosssato.hatenablog.com/entry/20100528/1275016235) - 上司がアクセス数を出せって言うから...
- UNIXコマンドの使い方 grep
- UNIXコマンドの使い方 cut
- Man page of GAWK
- Man page of SORT
- Man page of UNIQ
- Man page of WC
バシャログ tnakamuraさんとても参考になりました。