shell 截取日志 统计链接数 统计日志ip

按时间段获取日志

sed -n ‘/22\/Dec\/2015:00/,/22\/Dec\/2015:50/p‘ localhost_access_log.2015-11-10.txt > /tmp/acc.www.log 
sed -n ‘/22\/Dec\/2015:00/,/22\/Dec\/2015:50/p‘ localhost_access_log.2015-11-10.txt |head -3 
sed -n ‘/22\/Dec\/2015:00/,/22\/Dec\/2015:50/p‘ localhost_access_log.2015-11-10.txt |tail -3 
======================================
awk ‘/22\/Dec\/2015:00/,/22\/Dec\/2015:09/ {print $0}‘ access_www.log > /tmp/acc.www.log 
awk ‘/22\/Dec\/2015:00/,/22\/Dec\/2015:09/ {print $0}‘ access_www.log |head -3 
awk ‘/22\/Dec\/2015:00/,/22\/Dec\/2015:09/ {print $0}‘ access_www.log |tail -3
============================================================================

#######################################################

统计链接数:

netstat -tan | awk ‘/^tcp/{++state[$NF]}END{for (s in state) {print s"============"state[s]}}‘
netstat -tan|awk ‘/^tcp/{S[$6]++ } END {for(n in S) {print n "============" S[n]}}‘
------------------------
[[email protected] ~]# netstat -a|awk ‘/tcp/{S[$6]++ } END {for(n in S) {print n "============" S[n]}}‘
TIME_WAIT============292
ESTABLISHED============13
SYN_RECV============2
LAST_ACK============3
LISTEN============5
[[email protected] ~]# 
# netstat -tn | awk ‘/^tcp/{lens=split($5,client,":");ip[client[1]]++}END{for (i in ip) print i,ip[i]}‘

#######################################################

统计每个IP的连接数:

netstat -ntu | awk -F‘[ :]+‘ ‘/^tcp/{print $6}‘|sort |uniq -c |sort -rn|head -5
netstat -ntu | awk ‘{ print $5}‘ | cut -d : -f 1 | sort | uniq -c| sort -n -r | head -n 5 | grep -v 127.0.0.1"
netstat -ntu | tail -n +3 | awk ‘{ print $5}‘ | cut -d : -f 1 | sort | uniq -c | sort -n -r |head -n 3
netstat -ntu | tail -n +3 | awk ‘{ print $5}‘ | egrep -o  "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}" | sort | uniq -c | sort -n -r

#######################################################

统计日志的IP数

awk ‘{ip[$1]++}END{for (i in ip) {print ip[i], i}}‘ access_www.log  |sort -rn -k1 |head -10
 
[[email protected] nginx]$ awk ‘{ip[$1]++}END{for (i in ip) {print ip[i], i}}‘ access_www.log  |sort -rn -k1 |head -10
6792 140.206.49.178
6106 66.249.69.247
4734 115.159.29.191
2501 42.121.119.229
2444 114.119.8.92
2179 10.162.85.26
1741 10.51.0.209
1710 121.37.61.220
1580 121.41.37.72
1568 66.249.75.95
[[email protected] nginx]$
时间: 2024-10-26 15:12:01

shell 截取日志 统计链接数 统计日志ip的相关文章

Nginx日志切割及常用统计脚本

1,编辑脚本 进入到/usr/local/nginx/logs日志目录下,新建一个脚本,添加下面内容.指定好日志目录路径,日志文件名称和pid的文件,最后kill -USR1信号用来告知应用程序重载配置文件 vim log.sh #!/bin/bash logs_path="/usr/local/nginx/logs/" mv ${logs_path}www_mrliangqi.log ${logs_path}www_mrliangqi$(date -d "yesterday

每日一道shell练习(10)——统计字符数

1. 习题 将下面这句话中字符数在6以内的单词打印出来: Bash also interprets a number of multi-character options . 2. 习题分析 思路:用for循环将每个单词取出,才能单独统计.for循环的分隔符有空格.tab键和回车键,刚好这句话的分隔符是空格键. 3. 脚本 #!/bin/bash line='Bash also interprets a number of multi-character options .' sum=0 for

Windows命令提示符中统计行数

使用内置工具FIND统计cmd.exe输出的行数非常方便! 在命令行环境中工作时,能够统计不同工具的输出结果的行数有时会非常有用.许多Unix/Linux操作系统都包含带有许多功能选项的wc 工具,Windows则没有内置一样的替代品,但是Windows命令提示符(cmd.exe)原生支持了部分相同功能. 本文将讲述在cmd.exe中我们可以如何使用FIND 工具来统计行数.工具find,有些类似于Unix上的grep,自MS-DOS以来就一直存在, 使用简单. 假设我们有一台Windows服务

推荐一个代码行数统计工具cloc

代码行数统计工具cloc,它不但能统计代码行数,还能自动过滤掉代码中的注释,使用起来也很方便,强力推荐. 安装很方便,Ubuntu上直接udo apt-get install cloc就可以了 下面用mysql来做个例子吧,首先进入mysql的源代码文件夹: [email protected] ~/aproject $ cd mysql-5.6.19/ [email protected] ~/aproject/mysql-5.6.19 $ cloc . defined(%hash) is dep

洛谷 P1308 统计单词数【字符串+模拟】

P1308 统计单词数 题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置.注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章 中的某一独立单词在不区分大小写的情况下完全相同(参见样例1 ),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2 ). 输入输出格式 输入格式: 输入文件

JSK-27321 统计单词数【字符串】

统计单词数 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置. 注意:匹配单词时,不区分大小写,但要求完全匹配, 即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例 1), 如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例 2). 输入格式 第 1 行为一个字符串,其中只含字母,表示

16011301(统计指令数影响耗时)

[目标] 统计指令数影响耗时 [思路] 1 相同模型,换材质之后 2 看下ShaderComplexity 配置文件中 usf中计算颜色方式 也就是越复杂,就颜色 绿->红->白 3 耗时统计显示 将有用的集合起来吧 4 每个Component的耗时 5 添加一列百分比,用于选中某一列排序时,进行百分比计算 6 WxTextureStatsBrowser这个是做啥的?? WxGameStatsVisualizer ? 7 上面的耗时统计方法 appCycle 计算公式 GSecondsPerC

C语言统计字符数

一段统计字符数的代码及分析. 先贴代码: #include<stdio.h> #include<string.h>//提供memset函数原型. int main() { char S[80]; int C[26],length;//一段声明,即字符数组S,整型数组C,和整型length. memset(C,0,sizeof(C));//将C清零,至于为什么不把字符数组清零,稍后有一段实验过程. for(int i=0;i<=3;i++)//循环4次,读入4行字符串. { g

29:统计字符数

29:统计字符数 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多. 输入 输入包含一行,一个字符串,长度不超过1000. 输出 输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开.如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符. 样例输入 abbccc 样例输出 c 3 来源 1744 1 #include<iostream> 2 #