分析日志命令

grep -i "fsockopen" -R *|more 搜索文件夹下的fsockopen

find ./ -type f |wc -l 统计文件夹下有多文件

crontab -e

0 grep '07/Sep' access_nginx.log | awk -F ":" '{if($2 > 7 && $2< 9){print $0}}' | wc -l 统计7点到9点日志访问数

grep '07/Sep' www.lishiketang.com.log | awk '{if($4>="[07/Sep/2020:15:00:00" && $4

awk '{if($1 == "113.111.211.224"){print $0}}' temp.log |wc -l 判断字符串相等用双引号

1 tail -f access.log #时时查看日志最新内容

2 wc -l access.log #总共多少条日志

3 awk '{if ($9 != 200){print $9}}' host.access.log |sort |uniq -c | sort -rn | head -5 HTTP状态码(非200)统计 Top5

4 awk '{print $7}' host.access.log | sort | uniq -c | sort -rn | head -3 访问最频繁的URL TOP3

5 cat host.access.log | awk '{print $7}' | sort | uniq -c |sort -nr | awk '{if($1 > 2){print $2,$1}}' 分析请求数大于 2 的url地址

6 awk '{print $4}' access.log |cut -c14-21|sort|uniq -c|sort -nr|head -n 100 统计每秒的请求数,top100的时间点(精确到秒)

7 awk '{print $4}' access.log |cut -c14-18|sort|uniq -c|sort -nr|head -n 100 每分钟请求量统计 11、统计每分钟的请求数,top100的时间点(精确到分钟)

8 awk '{print $4}' access.log |cut -c14-15|sort|uniq -c|sort -nr|head -n 100 每小时请求量统计 12、统计每小时的请求数,top100的时间点(精确到小时)

9 grep "24/Mar/2019" host.access.log |awk '{print $4}' | cut -c14-21 | sort | uniq -c | sort -rn | head -10 某一天的每小时请求量统计 12、统计每小时的请求数,top100的时间点(精确到小时)

10 awk '{print $1}' access.log | sort -n | uniq | wc -l 统计IP访问量

11 awk '{print $1}' access.log | sort -n |uniq -c | sort -rn | head -n 100 查看访问最频繁的前100个IP

12 awk '{print $1}' access.log | sort -n |uniq -c |awk '{if($1 >100) print $0}'|sort -rn 查看访问100次以上的IP

13 grep'104.217.108.66' access.log |awk '{print $7}'|sort |uniq -c |sort -rn |head -n 100 查询某个IP的详细访问情况,按访问频率排序

14 grep -v ".php" access.log | awk '{print $7}' | sort |uniq -c | sort -rn | head -n 100 查看访问最频的页面([排除php页面】(TOP100)

15 tail -1000 access.log |awk '{print $7}'|sort|uniq -c|sort -nr|less 查看最近1000条记录,访问量最高的页面

16求和

格式:

192.168.1.100 - - [26/Mar/2019:09:59:58 +0800] "GET /favicon.ico HTTP/1.1" 200 1150 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:65.0) Gecko/20100101 Firefox/65.0" "-"

求和

grep "192.168.1.102" host.access.log | awk -F. '{totla+=$3} END {print totla}'

17求平均(格式和16一样)

awk -F: '{print $2}' host.access.log |awk '{total+=$1} END{print total/NR}'

18求最大值(格式和16一样)

awk -F: '{print $2}' host.access.log |awk 'BEGIN {max=0} {if($1>max)max=$1 fi}END{print tota max}'

19求最小值(格式和16一样)

awk -F: '{print $2}' host.access.log |awk 'BEGIN {min=999999} {if($1

top -bn1 | awk '{print $12}' | grep 'logs' #top命令与awk集合使用

20 awk判断字符串里的双引号"是否相等,用\转义

grep '12/Oct' www.chanyuanpaihang.com.log | grep 'addvote' | awk '{if($5 == "\"POST"){print $5}}' | wc -l

你可能感兴趣的:(网络,服务器,linux)