当前位置:  操作系统/服务器>linux

shell脚本实现的网站日志分析统计(可以统计9种数据)

    来源: 互联网  发布时间:2014-10-16

    本文导语:  写了个shell脚本,可以用来统计每天的访问日志,并发送到电子邮箱,方便每天了解网站情况。脚本统计了:1、总访问量2、总带宽3、独立访客量4、访问IP统计5、访问url统计6、来源统计7、404统计8、搜索引擎访问统计(谷歌,百...

写了个shell脚本,可以用来统计每天的访问日志,并发送到电子邮箱,方便每天了解网站情况。
脚本统计了:
1、总访问量
2、总带宽
3、独立访客量
4、访问IP统计
5、访问url统计
6、来源统计
7、404统计
8、搜索引擎访问统计(谷歌,百度)
9、搜索引擎来源统计(谷歌,百度)

代码如下:

#!/bin/bash
log_path=/home/www./log/access.log.1
domain=""
email="log@"
maketime=`date +%Y-%m-%d" "%H":"%M`
logdate=`date -d "yesterday" +%Y-%m-%d`
total_visit=`wc -l ${log_path} | awk '{print $1}'`
total_bandwidth=`awk -v total=0 '{total+=$10}END{print total/1024/1024}' ${log_path}`
total_unique=`awk '{ip[$1]++}END{print asort(ip)}' ${log_path}`
ip_pv=`awk '{ip[$1]++}END{for (k in ip){print ip[k],k}}' ${log_path} | sort -rn | head -20`
url_num=`awk '{url[$7]++}END{for (k in url){print url[k],k}}' ${log_path} | sort -rn | head -20`
referer=`awk -v domain=$domain '$11 !~ /http://[^/]*'"$domain"'/{url[$11]++}END{for (k in url){print url[k],k}}' ${log_path} | sort -rn | head -20`
notfound=`awk '$9 == 404 {url[$7]++}END{for (k in url){print url[k],k}}' ${log_path} | sort -rn | head -20`
spider=`awk -F'"' '$6 ~ /Baiduspider/ {spider["baiduspider"]++} $6 ~ /Googlebot/ {spider["googlebot"]++}END{for (k in spider){print k,spider[k]}}'  ${log_path}`
search=`awk -F'"' '$4 ~ /http://www.baidu.com/ {search["baidu_search"]++} $4 ~ /http://www.google.com/ {search["google_search"]++}END{for (k in search){print k,search[k]}}' ${log_path}`
echo -e "概况n报告生成时间:${maketime}n总访问量:${total_visit}n总带宽:${total_bandwidth}Mn独立访客:${total_unique}nn访问IP统计n${ip_pv}nn访问url统计n${url_num}nn来源页面统计n${referer}nn404统计n${notfound}nn蜘蛛统计n${spider}nn搜索引擎来源统计n${search}" | mail -s "$domain $logdate log statistics" ${email}

需要修改的三个变量log_path,domain和email,然后把此脚本添加到计划任务,就可以每天接收到统计的数据了。


    
 
 

您可能感兴趣的文章:

  • 讲起来容易,实现有点难度,请问如何用shell写这个统计?
  • 求一个shell脚本 统计文件数目并删除一些文件
  • 要对文件中包含特定字符串的行数进行统计,Shell脚本该如何写?急用!!在线等待
  • linux中 写shell程序,用于统计文件中关键字的个数
  • shell统计问题
  • 如何用shell统计日志文件里每一小时内的数据总量
  • 求助 shell中split命令如何实现文件分割 并统计分割文件个数。分割完之后,命名方式从 文件名.001 开始
  • 有用B_shell的么?我要将一个文件在后台反复读100遍,统计出总共花费的时间,应该怎么写?
  • 能否使用shell统计已存在文件的行数并写入当前文件
  • 使用shell脚本分析网站日志统计PV、404、500等数据
  • 如何用shell实现依文件1某个域到文件2查找满足条件记录并统计记录数后修改文件1
  • shell统计pv和uv、独立ip的方法
  • linux下统计appche站点IP访问量的shell脚本
  • 统计 cpu 内存 使用率的shell脚本代码
  • 牛人来帮忙解析一个shell脚本(用于统计一个进程的内存使用情况)
  • 统计网卡流量的两段shell脚本(使用ifconfig)
  • php与shell大文件数据统计与排序方法
  • 一个用了统计CPU 内存 硬盘 使用率的shell脚本
  • shell脚本如何调用另外一个shell脚本的函数?
  • 急救!关于Shell脚本删除过期文件的问题,Shell脚本达人乱入
  • shell 脚本中命令别名在脚本外无法使用
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • C语言调用shell脚本后,通过何种方法能获取脚本中变量的值
  • 想用shell脚本定时执行另一个脚本
  • 一个shell执行另一个带参数shell脚本????????????
  • 如何给shell脚本加密,脚本中有密码。最好是比较直接的,不要说让用 shc
  • Shell脚本调用Sql脚本并向其中传递变量
  • 请问,Shell中如何执行另外一个Shell脚本?
  • 如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)
  • nohup执行的shell脚本,全局变量不能传递到脚本中使用吗?
  • cd、zip等命令在shell提示符下能执行,在shell脚本中为什么不能执行呢?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问什么是shell编程?一般都用shell编程实现什么?
  • 如何用c shell实现让一个a.exe在后台运行,请给出shell代码
  • 编一个模拟shell实现的程序,怎么实现输入输出重定向?谢谢
  • 用shell调用api接口能实现吗?100分就是你的了
  • 请问shell能实现注册的功能吗?
  • 用shell命令来实现改变文件的icon
  • Linux shell 可以实现连接数据库吗?
  • bash shell 如何实现删除文件中的各行字符呢?
  • 如何用shell实现向文件删除或添加一行信息
  • 请教一下,如何用shell 编程实现删除超过一定时间以前的文件?
  • 如何用shell程序实现一个监控程序(内详)
  • 用shell实现scp,如何将密码传给相应的指令?
  • 如何编程实现(不用shell命令)修改文件的时间
  • 急急急!!!!!!用B shell如何实现截取变量的子串?
  • 用SHELL脚本实现?
  • 如何使用shell文件实现linux环境下的挂载功能,具体代码!!
  • shell 读取xml的实现
  • shell脚本如何实现下面的功能
  • UNIX SHELL实现su用户切换功能
  • 怎么在每行数据后加 一个 词 (shell 实现)
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • shell变量和子shell的问题请教
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • 请问“当前shell”和“子shell”的区别?
  • java开源软件 iis7站长之家


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3