だから私は集めて引っ張りました。悪い私のログからipが消えました。誰にも良い結果をもたらす改善やその他の提案はありますか?
一般的なアイデアは次のとおりです。
- ログファイルからのみIPを抽出する
- 並べ替え
- ユニークで数える
- 並べ替えてください
そしてオーケストラ:
cut --delim " " -f7 /var/log/apache_access | sort | uniq -c | sort -rn > sorted-ips.txt
ベストアンサー1
私はいつもこれを使います:
tail -1000 /var/log/apache_access | awk '{print $1}' | sort -nk1 | uniq -c | sort -nk1
tail
実際にどれだけ戻りたいかという制限を設定できます。 (何らかの理由で)ログローテーションを使用しない場合は問題ありません。 2番目に使用しています。awk
ほとんどのログはスペースで区切られているため、通過しています。追加適切な変数を使用すると、追加情報(訪問したURL、ステータス、ブラウザなど)を抽出できます$
。最後に、uniq
接触ペアでのみ機能する欠陥があります。つまり:
A
A
A
A
B
A
A
生産します:
4 A
1 B
2 A
希望の出力ではありません。したがって、最初の列(この場合はipsですが、他の列も並べ替えることができます)を並べ替えてから並べ替え、uniq
最後に最も高い違反を見るために数を昇順に並べ替えます。