统计访问日志每5min带宽情况

该脚本用户计算某个工具格式的访问日志,给定时间间隔内的带宽情况

#!/bin/bash
#-*- coding:utf-8 -*-

#该脚本用户计算某个工具格式的访问日志,给定时间间隔内的带宽情况
>result
log_file="log.file"    #定义一个临时日志文件

date="$1"   #开始时间作为运行脚本的第一个参数 
starttime=$(date -d "$date" +%s)    #将输入的时间转换为时间戳
duration="$2"    #时间间隔的描述作为运行脚本的第二个参数
let endtime=${starttime}+${duration}
DATE=$(echo $date |awk '{print $1}')
zcat /data/.../access/*${DATE}* |awk -v "s_time=${starttime}" -v "e_time=${endtime}" '{if ($1 >= s_time && $1 <= e_time) print}' > ${log_file}    #将日志文件全部解压放在临时文件中,这块有个银行问题,需要解压的文件过大会造成占用设备内存过多


function run(){
    duration=$1
    while [[ $starttime < $endtime ]];do
        let end_time=${starttime}+${duration}
        real_date=$(date -d @${starttime} +"%Y%m%d%H%M")
        cat ${log_file} |awk -v "s_time=${starttime}" -v "e_time=${end_time}" '{ if ($1 >= s_time && $1 < e_time) print }' |awk -v time="${real_date}" '{num[$4]++}END{for(i in num) print time,num[i],i}' |sort -k2 -nr >> result
        starttime=${end_time};
    done < ${log_file}
    }

run duration
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 6,288评论 0 10
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,887评论 0 9
  • 一:LoadRunner常见问题整理1.LR 脚本为空的解决方法:1.去掉ie设置中的第三方支持取消掉2.在系统属...
    0100阅读 4,617评论 0 11
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 4,189评论 0 5
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,574评论 1 32

友情链接更多精彩内容