Apache日志分析一行指令

最近我经常使用的东西

一般情况下,默认使用日志格式。
根据环境的不同,可以通过改变awk的参数来支持自定义格式等(至少应该可以)。

# アクセス元 IP の一覧
$ cat /var/log/httpd/access_log | cut -d ” ” -f 1 | sort | uniq

# ユーザエージェントの一覧
$ cat /var/log/httpd/access_log | awk -F ‘”‘ ‘{ print $6 }’ | sort | uniq

# リファラ別
$ cat /var/log/apache/access.log|awk '{print $11}'|sort|uniq -c|sort -n

# ブラウザ毎のアクセス数
$ for UA in MSIE Firefox Chrome; do COUNT=`grep$UA” /var/log/httpd/access_log | wc -l`; echo$UA : $COUNT; done

# 特定ファイルへのアクセス数を抽出
$ cat /var/log/httpd/access.log | grep favicon.ico | wc -l

可以使用awk来指定日志的时间范围。如果是系统日志,可以指定系统日志的时间格式;如果是apache日志,可以指定apache日志的时间格式。

$ cat file | awk -F - '"開始時間" < $1 && $1 <= "終了時間"'

在实时中使用tail -f指令,无需grep缓冲。

$ tail -f file | grep --line-buffered "word"
广告
将在 10 秒后关闭
bannerAds