求一个分析日志的shell脚本
答案:1 悬赏:60 手机版
解决时间 2021-01-29 02:36
- 提问者网友:心牵心
- 2021-01-28 18:28
求一个分析日志的shell脚本
最佳答案
- 五星知识达人网友:一袍清酒付
- 2021-01-28 19:58
大致如下:主要要查看好日志中的字段,方便Awk中$n对应,下面的如果有问题,微调一下即可。日志文件路径是假定。
#!/bin/bash
Log_file="/var/log/http.log"
Total_Num=`cat $Log_file|awk '/来源IP/{print}'|wc -l`
User_Num=`cat $Log_file|awk '{a[$1]++}END{for(j in a) print a[j],j}'|wc -l`
Access_Num=`cat $Log_file|awk '{a[$14]++}END{for(j in a) print a[j],j}'|sorn -n|head 10`
Url_Num=`cat $Log_file|awk '{a[$17]++}END{for(j in a) print a[j],j}'|sorn -n|head 10`
Src_Num=`cat $Log_file|awk '{a[$1]++}END{for(j in a) print a[j],j}'|sorn -n|head 10`
Status_Num=`cat $Log_file|awk '{a[$6]++}END{for(j in a) print a[j],j}'|sorn -n|head 10`
echo "总访问数:$Total_Num"
echo "独立问数:$User_Num"
echo "访问IP:$Access_Num"
echo "访问url统计:$Url_Num"
echo "来源统计:$Src_Num"
echo "状态码统计:$Status_Num"
#!/bin/bash
Log_file="/var/log/http.log"
Total_Num=`cat $Log_file|awk '/来源IP/{print}'|wc -l`
User_Num=`cat $Log_file|awk '{a[$1]++}END{for(j in a) print a[j],j}'|wc -l`
Access_Num=`cat $Log_file|awk '{a[$14]++}END{for(j in a) print a[j],j}'|sorn -n|head 10`
Url_Num=`cat $Log_file|awk '{a[$17]++}END{for(j in a) print a[j],j}'|sorn -n|head 10`
Src_Num=`cat $Log_file|awk '{a[$1]++}END{for(j in a) print a[j],j}'|sorn -n|head 10`
Status_Num=`cat $Log_file|awk '{a[$6]++}END{for(j in a) print a[j],j}'|sorn -n|head 10`
echo "总访问数:$Total_Num"
echo "独立问数:$User_Num"
echo "访问IP:$Access_Num"
echo "访问url统计:$Url_Num"
echo "来源统计:$Src_Num"
echo "状态码统计:$Status_Num"
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯