Shell根据web日志计算平均连接时间功能
今天在网上看到一个求web连接平均时间的shell命令,在自己的机器上试了下,发现不能使用,居然出现awk: fatal: division by zero attempted这样的错误,毛了就自己改了下shell命令.
原shell脚本例子:
cat access.log|grep "connect cbp" |awk 'BEGIN{sum=0;count=0;}{sum+=$10;count++;}END{printf("sum=%d,count=%d,avg=%f\n",sum,count, sum/count)}'
修改后的shell:
cat access.log |awk '{sum+=$10;count+=1} END{print "SUM:"sum"\nAVG:"sum/count"\nCOUNT:"count}'
执行结果:
SUM:33403166
AVG:7951.24
COUNT:4201
当然直接改原来的也可以:
cat access.log |awk 'BEGIN{sum=0;count=0;}{sum+=$10;count++;}END{printf("sum=%d,count=%d,avg=%f\n",sum,count, sum/count)}'
执行结果:
sum=33403166,count=4201,avg=7951.241609
可以看到原shell脚本求的结果更加精确些.有需要的可以自己拿去试试.
相关推荐
-
Shell根据web日志计算平均连接时间功能
今天在网上看到一个求web连接平均时间的shell命令,在自己的机器上试了下,发现不能使用,居然出现awk: fatal: division by zero attempted这样的错误,毛了就自己改了下shell命令. 原shell脚本例子: 复制代码 代码如下: cat access.log|grep "connect cbp" |awk 'BEGIN{sum=0;count=0;}{sum+=$10;count++;}END{printf("sum=%d,count=%
-
WEB前端实现裁剪上传图片功能
最后的效果如下: 这里面有几个功能,第一个是支持拖拽,第二个压缩,第三个是裁剪编辑,第四个是上传和上传进度显示,下面依次介绍每个功能的实现: 1. 拖拽显示图片 拖拽读取的功能主要是要兼听html5的drag事件,这个没什么好说的,查查api就知道怎么做了,主要在于怎么读取用户拖过来的图片并把它转成base64以在本地显示. var handler = { init: function($container){ //需要把dragover的默认行为禁掉,不然会跳页 $container.on("
-
10个好用的Web日志安全分析工具推荐小结
经常听到有朋友问,有没有比较好用的web日志安全分析工具? 首先,我们应该清楚,日志文件不但可以帮助我们溯源,找到入侵者攻击路径,而且在平常的运维中,日志也可以反应出很多的安全攻击行为. 一款简单好用的Web日志分析工具,可以大大提升效率,目前业内日志分析工具比较多,今天推荐十个比较好用的Web日志安全分析工具. 1.360星图 一款非常好用的网站访问日志分析工具,可以有效识别Web漏洞攻击.CC攻击.恶意爬虫扫描.异常访问等行为.一键自动化分析,输出安全分析报告,支持iis/apache/ng
-
Shell常用服务器日志分析命令总结
目录 1.查看有多少个IP访问 2.查看某一个页面被访问的次数 3.查看每一个IP访问了多少个页面 4.将每个IP访问的页面数进行从小到大排序 5.查看某一个IP访问了哪些页面 6.去掉搜索引擎统计的页面 7.查看2015年8月16日14时这一个小时内有多少IP访问 8.查看访问前十个ip地址 9.访问次数最多的10个文件或页面 10.通过子域名访问次数 11.列出传输大小最大的几个文件 12.列出输出大于200000byte(约200kb)的页面以及对应页面发生次数 13.如果日志最后一列记录
-
go语言实现通过FTP库自动上传web日志
因为平时管理的web服务器都是VM服务器,为节省硬盘空间,一般给虚拟机分配的硬盘空间都比较小,只有8G,因为,保存不了多少日志,所以每天都需要把每台WEB日志转移到一个硬盘比较大的服务器上,然后再使用NBU集中备份,本程序主要使用go语言实现实现将web日志通过FTP自动上传FTP服务器,使用了filepath.Walk遍历日志目录及第三方纯go库"github.com/jlaffaye/ftp",而日志VM本地存储路径格式是 /var/log/weblog/www.domainNam
-
Linux shell脚本输出日志笔记整理(必看篇)
1.日志方法简介: #日志名称 log="./upgrade.log" #操作日志存放路径 fsize=2000000 #如果日志大小超过上限,则保存旧日志,重新生成日志文件 exec 2>>$log #如果执行过程中有错误信息均输出到日志文件中 #日志函数 #参数 #参数一,级别,INFO ,WARN,ERROR #参数二,内容 #返回值 function zc_log() { #判断格式 if [ 2 -gt $# ] then echo "parameter
-
shell版Nginx日志蜘蛛爬取查看脚本
shell版Nginx日志蜘蛛爬取查看脚本 用之前改一下nginx日志的路径即可 如果 更多的蜘蛛 自己在 代码蜘蛛UA数组里加即可 #!/bin/bash m="$(date +%m)" case $m in "01") m='Jan';; "02") m='Feb';; "03") m='Mar';; "04") m='Apr';; "05") m='May';; "06&
-
微信web端后退强制刷新功能的实现代码
具体代码如下所示: <script> //生成uuid var uuidChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""); function uuid() { var r; var uuid = []; uuid[8] = uuid[13] = uuid[18] = uuid[23] = "-"; uuid[14] =
-
python 计算平均平方误差(MSE)的实例
我们要编程计算所选直线的平均平方误差(MSE), 即数据集中每个点到直线的Y方向距离的平方的平均数,表达式如下: MSE=1n∑i=1n(yi−mxi−b)2 最初麻烦的写法 # TODO 实现以下函数并输出所选直线的MSE def calculateMSE(X,Y,m,b): in_bracket = [] for i in range(len(X)): num = Y[i] - m*X[i] - b num = pow(num,2) in_bracket.append(num) all_su
-
JSP动态实现web网页登陆和注册功能
目录 前言 数据库 JSP网页连接数据库 配置mysql文件 创建jsp文件,连接数据库,并读取出数据显示在jsp网页中 注册和登录的JSP页面 新建login.jsp文件 新建check.jsp 创建register.jsp文件 新建Cregister.jsp文件 创建DBBean.java文件 前言 涉及到相关内容如下: 数据库安装 JSP网页连接数据库 注册和登录的JSP页面 数据库 安装教程 软件安装 (可视化数据库界面软件安装)拿走不谢 链接 提取码:qwer JSP
随机推荐
- 如何在AngularJs中调用第三方插件库
- 字符集和字符编码(Charset & Encoding)
- 浅谈序列化之protobuf与avro对比(Java)
- 通过示例分析Swift单例模式
- 探讨JavaScript标签位置的存放与功能有无关系
- 浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
- js实现仿微博滚动显示信息的效果
- thinkphp3.2.3 分页代码分享
- Smarty foreach控制循环次数的一些方法
- C# winform登陆框验证码的实现方法
- php+MySql实现登录系统与输出浏览者信息功能
- 正宗的日历(含农历)
- mysql筛选GROUP BY多个字段组合时的用法分享
- JavaScript职责链模式概述
- MyBatis高级映射学习教程
- Java经典设计模式之适配器模式原理与用法详解
- js 倒计时(高效率服务器时间同步)
- php class中self,parent,this的区别以及实例介绍
- vue中使用mxgraph的方法实例代码详解
- 在macOS上搭建python环境的实现方法