tail -n 1000 apache2/logs/www.log | cut -d' ' -f1 | sort | uniq -c | sort -nr | head -n10
- tail -n 1000 apache2/logs/www.log 取出最後一千行
- cut -d' ' -f1 以空格為區分取出第一部分,也可以用 awk '{print $1}'
- sort 第一次排序
- uniq -c 同樣的只顯示一個、加上 -c 是計數的意思
- sort -nr 第二次排序,用數字並且反向排序(預設是文字型態排序)
- head -n5 取出前5名
這時候如果搭配上 watch 指令的話就更方便了
watch -n 10 "tail -n 1000 apache2/logs/www.log | cut -d' ' -f1 | sort | uniq -c | sort -nr | head -n10"
每 10 秒自動抓一次 log 並分析
0 意見:
張貼留言