`
kavy
  • 浏览: 888698 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Shell+Linux命令实现日志分析

 
阅读更多
这篇文章主要介绍了Shell+Linux命令实现日志分析,本文给出了结合grep命令、awk命令等实现了几个常用的日志分析统计长命令,需要的朋友可以参考下
 
<iframe id="cproIframe_u1892994_2" src="http://pos.baidu.com/acom?adn=3&amp;at=231&amp;aurl=&amp;cad=1&amp;ccd=24&amp;cec=GBK&amp;cfv=15&amp;ch=0&amp;col=zh-CN&amp;conBW=0&amp;conOP=1&amp;cpa=1&amp;dai=2&amp;dis=0&amp;ltr=http%3A%2F%2Fwww.baidu.com%2Fs%3Fie%3Dutf-8%26f%3D8%26rsv_bp%3D1%26tn%3Dbaidu%26wd%3Dlinux%2520shell%25E8%2584%259A%25E6%259C%25AC%25E7%25BB%259F%25E8%25AE%25A1%25E6%2597%25A5%25E5%25BF%2597%26rsv_pq%3Dab09c94d0000c40d%26rsv_t%3D5133CLAHqO%252Bg0QsIqoPdn1tAWU0Hqwaxr6bnS45%252B78YEUQsXmCByxSi7nCI%26rsv_sug3%3D38%26rsv_sug1%3D18%26rsv_sug2%3D0%26inputT%3D11892%26rsv_sug4%3D12523&amp;ltu=http%3A%2F%2Fwww.jb51.net%2Farticle%2F53954.htm&amp;lu_161=0&amp;lunum=6&amp;n=jb51_cpr&amp;pcs=1349x630&amp;pis=10000x10000&amp;ps=516x209&amp;psr=1366x768&amp;pss=1349x517&amp;qn=fe0261cb0794c1c1&amp;rad=&amp;rsi0=580&amp;rsi1=90&amp;rsi5=4&amp;rss0=%23FFFFFF&amp;rss1=%23F7FCFF&amp;rss2=%230000ff&amp;rss3=%23444444&amp;rss4=%23008000&amp;rss5=&amp;rss6=%23e10900&amp;rss7=&amp;scale=&amp;skin=tabcloud_skin_3&amp;stid=5&amp;td_id=1892994&amp;ti=Shell%20Linux%E5%91%BD%E4%BB%A4%E5%AE%9E%E7%8E%B0%E6%97%A5%E5%BF%97%E5%88%86%E6%9E%90_linux%20shell_%E8%84%9A%E6%9C%AC%E4%B9%8B%E5%AE%B6&amp;titFF=%E5%AE%8B%E4%BD%93&amp;titFS=12&amp;titTA=left&amp;tn=text_default_580_90&amp;tpr=1429002892078&amp;ts=1&amp;version=2.0&amp;xuanting=0&amp;dtm=BAIDU_DUP2_SETJSONADSLOT&amp;dc=2&amp;di=u1892994&amp;tt=1429002892001.855.922.922" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" align="center,center" width="580" height="90"></iframe>

一、列出当天访问次数最多的IP
命令:

复制代码代码如下:
cut -d- -f 1 /usr/local/apache2/logs/access_log |uniq -c | sort -rn | head -20

原理:
复制代码代码如下:

       cut
       -d, --delimiter=DELIM
              use DELIM instead of TAB for field delimiter
              表示用-分割,然后-f 1 
       -f, --fields=LIST
              select only these fields;  also print any line that contains  no
              delimiter character, unless the -s option is specified
           表示打印第一部分,就是ip
 uniq 是将重复行去掉, -c表示前面前面加上数目,
       sort -rn 就是按照数字从大到小排序,
       head -20取前面20行
       
最后打印的结果大概是这样:
复制代码代码如下:
   217 192.114.71.13
   116 124.90.132.65
   108 192.114.71.13
   102 194.19.140.96
   101 217.70.34.173
   100 219.235.240.36

 

以下是其他一些分析日志的shell用法:

1、查看当天有多少个IP访问:

复制代码代码如下:
awk '{print $1}' log_file|sort|uniq|wc -l

 

2、查看某一个页面被访问的次数;

复制代码代码如下:
grep "/index.php" log_file | wc -l

 

3、查看每一个IP访问了多少个页面:

复制代码代码如下:
awk '{++S[$1]} END {for (a in S) print a,S[a]}' log_file

 

4、将每个IP访问的页面数进行从小到大排序:

复制代码代码如下:
awk '{++S[$1]} END {for (a in S) print S[a],a}' log_file | sort -n

 

5、查看某一个IP访问了哪些页面:

复制代码代码如下:
grep ^111.111.111.111 log_file| awk '{print $1,$7}'

 

6、去掉搜索引擎统计当天的页面:

复制代码代码如下:
awk '{print $12,$1}' log_file | grep ^\"Mozilla | awk '{print $2}' |sort | uniq | wc -l

 

7、查看2009年6月21日14时这一个小时内有多少IP访问:

复制代码代码如下:
awk '{print $4,$1}' log_file | grep 21/Jun/2009:14 | awk '{print $2}'| sort | uniq | wc -l

 

分享到:
评论

相关推荐

    shell + linux执行脚本 + linux基础知识 + linux系统基础

    在IT领域,Linux操作系统是广泛应用于服务器和开发环境的基础平台,而Shell作为Linux系统中的命令行解释器,扮演着至关重要的角色。Shell不仅允许用户通过命令行与操作系统交互,还能编写脚本来自动化复杂的任务,...

    linux shell脚本定时清理tomcat日志文件

    Linux shell脚本定时清理tomcat日志文件 本文将详细介绍 Linux 环境中使用 shell 脚本来定时清理 Tomcat 日志文件的方法。该方法使用 cron 机制来实现每天自动切割日志文件,并删除 4 天前的日志文件。 知识点一:...

    Linux菜鸟过关+Linux程序指南+Linux系统命令及使用详解

    以下是一些常见的Linux命令: 1. `ls`:列出目录内容。 2. `cd`:改变当前工作目录。 3. `pwd`:显示当前工作目录。 4. `touch`:创建新文件。 5. `mkdir`:创建新目录。 6. `rm`:删除文件或目录。 7. `cp`:复制...

    Unix系统用户登录、操作命令日志配置方法-(二)+Linux篇+Korn+Shell.doc

    总之,通过以上方法,你可以在Linux系统中配置Korn Shell,实现用户登录和命令操作的日志记录,从而增强系统的监控和审计能力。这些日志信息对于故障排查、安全分析以及满足合规性要求都非常有价值。

    Unix系统用户登录、操作命令日志配置方法-(二)+Linux篇+Bourne-Again+Shell.doc

    Unix系统用户登录、操作命令日志配置方法-(二)+Linux篇+Bourne-Again+Shell.docUnix系统用户登录、

    Unix系统用户登录、操作命令日志配置方法-(二)+Linux篇+C+Shell.doc

    总结起来,配置Unix/Linux系统的用户登录和操作命令日志涉及多个步骤,包括修改系统配置、调整shell脚本、设置日志轮换以及确保日志安全。熟练掌握这些技巧,可以提高系统的可管理性和安全性,同时便于排查问题和...

    linux shell监控应用程序日志报错

    在Linux系统中,shell脚本是一种强大的工具,用于自动化日常任务和管理系统。在这个场景中,我们关注的是如何利用shell脚本来监控应用程序日志,特别是针对日志中的错误信息进行实时检测。`checkwarning.cfg`和`...

    Linux 命令与Shell 脚本编程pdf书籍

    书中详细介绍了常见的Linux命令,例如`ls`用于列出目录内容,`cd`用于切换目录,`mkdir`和`rmdir`用于创建和删除目录,`touch`用于创建或修改文件时间戳,`cp`和`mv`用于复制和移动文件,`rm`用于删除文件,`cat`和`...

    Linux命令大全+Linux高手修炼手册

    3. **系统日志分析**:通过`dmesg`, `/var/log`目录下的日志文件了解系统运行情况。 4. **权限与文件系统**:理解用户和组的概念,以及chmod、chown、chgrp命令的用法。 5. **Shell编程**:编写Bash脚本自动化重复...

    Linux基础操作与命令+Linux文件系统管理+用户与权限管理+Linux软件包管理+Linux网络配置与管理等教程

    Linux系统监控与日志分析 Linux系统安全与防火墙配置 Linux服务配置与管理 Linux高级文件系统与存储技术 Linux内核模块与驱动开发 Linux虚拟化技术KVM与LXC Linux容器技术Docker与Kubernetes Linux自动化运维Ansible...

    Shell脚本日志关键字监控+告警.docx

    本文将详细介绍如何使用 Shell 脚本来监控 Linux 服务器日志,并在出现关键字异常时触发相应的动作或告警操作,通知到邮件联系人。 安装邮件服务 为了实现邮件告警功能,需要先安装邮件服务。可以使用 mailx 软件...

    shell编程和unix命令.rar_Linux命令_she_shell_shell linux_shell 编程

    通过Shell编程,你可以利用Unix命令的组合以及逻辑控制结构(如if-else、for、while循环)来实现复杂的任务自动化。 总的来说,Shell编程和Unix命令是Linux系统管理的基础,它们为系统管理员提供了强大的工具和自动...

    Linux命令执行程序shell

    在linux下,C语言实现的模拟shell程序。能够显示每条命令使用的cpu时间、进程中断次数、换页次数。

    Linux 命令 shell 重定向 >

    例如,你可以将一个命令的输出作为另一个命令的输入,或者将错误信息和正常输出一起保存到日志文件,以便后续分析。 理解并熟练掌握Shell重定向,对于Linux系统的管理和自动化运维来说至关重要,它能帮助你更高效地...

    linux下shell脚本实现数据的导出

    在Linux环境下,shell脚本是自动化任务的强大工具,尤其对于数据导出这样的操作,通过编写shell脚本可以方便地实现定期备份或者按需导出。本文将深入讲解如何使用shell脚本来实现数据的导出,并结合Java代码进行调用...

    维护常用linux命令\shell技巧

    熟练掌握Linux命令和Shell脚本编写技巧对于提升工作效率至关重要。以下是一些关于“维护常用Linux命令\Shell技巧”的详细知识点: 1. **基本命令操作**: - `ls`:列出目录内容。 - `cd`:切换目录。 - `pwd`:...

    linux常用命令学习日志

    这些命令可以在 Shell 中执行,以实现各种操作,如文件管理、进程管理、网络管理等。下面是 Linux 命令学习日志中的重要知识点: 一、 Shell 参数 * $0:程序的名字 * $1:第一个参数 * $#:返回参数的个数 * $?:...

    Linux UNIX shell命令大全

    这些工具对于数据分析、日志分析和文件操作具有强大的功能,是Linux系统管理员的必备技能。 第五部分:系统管理实践 这部分涉及了一些与系统管理相关的议题,包括用户和组管理、软件安装与升级、系统监控以及错误...

Global site tag (gtag.js) - Google Analytics