截取access.log一段日志 和截取apache的访问日志ip
2012-08-03 18:02
281 查看
转发 评论
2011-12-09 18:43
看到以前的一道shell面试题,心血来潮,看看自己现在能做了吗?!小试一下……
在access.log中截取 16/Aug/2010:14:31:30到17/Aug/2010:10:12:07间的日志信息,并输出到log.txt中,我的思路,用sed打印16/Aug/2010:14:31:30和17/Aug/2010:10:12:07间的日志并>
#!/bin/bash
n1=`grep -n ?\/Aug\/2010:14:31:30' access.log|head -1|cut -d ':' -f1`
n2=`grep -n ?\/Aug\/2010:10:12:07' access.log|tail -1|cut -d ':' -f 1`
sed -n "${n1},${n2}p" access.log >log.txt
另外sed还有更简单的方法
sed -n '/16\/Aug\/2010:14:31:30/,/17\/Aug\/2010:10:12:07/'p >log.txt
但是此命令思路是对的,可是当access.log 在同一时间内有大量并发访问日志时,这个就不准确了。最完善的还要算第一种思路。
总结)统计Apache或Nginx访问日志里的独立IP访问数量的Shell
点击量:172次 发布时间:2011-11-15 10:151、把IP数量直接输出显示:
cat access_log_2011_06_26.log |awk '{print $1}'|uniq -c|wc -l
2、把IP数量输出到文本显示:
cat access_log_2011_06_26.log |awk '{print $1}'|uniq -c|wc -l > ip.txt
总结:如果单个访问日志大小超过2G,用这个命令查看时很占系统资源,系统负载会上升;所以在服务器高负载时不要查看,最好在低负载时间段查看。上面截图是公司其中一台广告服务器的一天ip访问量,这个访问量其实还包括了搜索引擎的。访问日志只能做个参考,要准确还是要程序来统计。
相关文章推荐
- 通过apache 访问日志access.log 统计IP 和每个地址访问的次数
- 基于APACHE访问日志分析(access_log)的广告流量统计系统
- 你用pig分析access_log日志中ip访问次数
- apache 访问日志access_log 配置和解析 rotatelogs分割日志
- apache访问日志access.log的解析以及如何将其导入mysql
- apache服务器访问日志access.log设置
- 老男孩教育每日一题-2017年4月26日-通过访问日志access.log统计IP和每个地址访问的次数
- 【apache2.2】apache2.2中的日志访问文件access.log
- 如何分析apache日志[access_log(访问日志)和error_log(错误日志)]
- 清除error.log、access.log并限制Apache日志文件大小的方法
- 怎样配置让apache访问日志记录真实客户端IP,而不是nginx代理服务器IP
- 关于通过nginx配置到apache-tomcat-7.0.67的端口的时候access中打印访问日志会一直输出nginx的地址而不是用户的真实地址
- 清除error.log、access.log并限制Apache日志文件大小的方法
- 清除error.log、access.log并限制Apache日志文件大小的方法
- 如何分析apache日志[access_log(访问日志)和error_log(错误日志)]
- Tomcat的访问日志-localhost_access_log和记录Post请求参数
- Nginx访问日志(access_log)配置及信息详解
- apache的日志access_log分析
- 统计Apache或nginx日志里访问次数最多的前十个IP