`
marb
  • 浏览: 419859 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

shell脚本分析网站日志步骤

 
阅读更多

一、cd指令:用于确定日志文件所在的文件夹。

如日志在d盘:

1
cd d: 或 cd /cygdrive/d/

如日志在d盘weblog文件夹,那使用指令:

1
cd /cygdrive/d/weblog/

返回上级目录:

1
cd ..

返回底层目录:

1
cd ~

注:cygwin的默认文件夹是cygwin安装文件中home/administrator文件夹,可以通过指令来修改默认文件夹,具体指令请上网搜索。

二、ls指令:显示目前文件夹中所有文件

比如当前路径是在/d/weblog/

1
ls -a, –all /d/weblog

就可以显示出/d/weblog/中所有文件。

三、cat指令:连接文件

当几个日志需要连接融合时,需要用到cat指令,cat的全称是concatenate,为连接之意,如我想看4月份的日志情况,需要用到ex120401.log, ex120402.log, ex120403.log…等日志文件,我可以使用下列指令:

1
cat ex12*.log > april.log

那么4月的所有日志文件就会合为april这一个文件了。

注:

1、ex12*.log中的*号为通配符,可代表所有字母或数字。

2、cat ex12*.log> april.log后面的“> april.log”代表把日志文件导出为一个名为april.log的文件,如果没有“april.log”,那所有的数据只会在编辑器中出现,并不导出。

四、grep指令:提取文件中的部分数据

1
grep A B.log >C.log

其中A是要在文件中提取的数据,比如要提取百度蜘蛛数据,那这里就是Baiduspider;B.log指的是要提取的目标文件,比如上面的april.log;C.log是提取出的数据要导出的文件,比如要把数据导出为baidu.log,那这里就应该为baidu.log。下面是一个例子,要提取april.log文件中百度蜘蛛数据,并导出为aprilbaidu.log,指令为:

1
grep Baiduspider april.log >aprilbaidu.log        

注:

1、grep的提取是找到相应的数据,并把整行数据都提取出来。

2、大小写不能搞错。

5月17日补充:

1
grep -v:排除指令

grep -v排除不需要的数据,跟grep用法正好相反。

五、awk指令:分割相应的列数据

1
2012-04-29 00:03:03 GET /ask/m140.html - 80 220.181.108.100 HTTP/1.1 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) - - www.mengtiankong.com 200 0 0 5149 327 15

以上是百度蜘蛛抓取小站的日志情况,根据中间的空格可以分为19列(根据日志设置各有不同),awk可以单独提取出其中的某一列,比如要单独提取出其中的时间和URL:

1
awk ‘{print $2,$4}’ aprilbaidu.log > url.log

其中的$2,$4是所对应的列数,aprilbaidu.log是要分割的文件,url.log是相应数据的导出文件。

六、sort指令:排序

这个就是简单的排序,如果本来是按照原来的顺序,“1,2,9,5,1,2,6,4”,那么使用sort之后将是“1,1,2,2,4,5,6,9”。

另外,sort –nr 按照降序排列。

七、uniq指令:对数据进行汇总

这个只用uniq –c,表示周围数据排序整理,比如经过sort排序后是这样的

1
2
3
4
5
6
7
/ask1/
   
/ask1/
    
/ask1/
    
/ask2/

那么使用uniq –c后会变为这种:

1
2
3
3 /ask1/
   
1 /ask2/

注:由于uniq –c只能对周围数据排序整理,所以需要先对数据sort排序处理。

八、|符号的使用

|符号表示把后面的指令用在前面的文件上,比如

1
cat ex*.log |grep Baiduspider >baidu.log

标题将所有ex开头的log文件融合,然后提取出其中包含Baiduspider的部分。

九、常用shell指令汇总

1、把百度蜘蛛数据提取出来

1
grep Baiduspider ex*.log >baidu.log

2、调取不重复抓取URL数据,并按照降序排列

1
awk ‘{print $7}’ baidu.log |sort|uniq –c|sort –nr>zhuaqu.log

3、调取爬虫IP,并按照降序排列

1
awk ‘{print $11}’ baidu.log |sort|uniq –c|sort –nr>zhuaqu.log

4、调取返回码,并按照降序排列

1
awk ‘{print $17}’ baidu.log |sort|uniq –c|sort –nr>zhuaqu.log

 

分享到:
评论

相关推荐

    shell脚本自动监测系统cpu资源,异常彪高时,自动打印应用线程日志文件

    本文将详细介绍如何使用shell脚本来实现系统CPU资源的自动监测,并在CPU资源异常升高时自动打印应用线程日志文件。 首先,让我们了解CPU资源监测的基础。在Linux系统中,可以使用`top`或`vmstat`命令来实时查看系统...

    linux下批量执行oracle脚本的shell脚本

    在shell脚本中,这些步骤可以通过调用相应的Oracle管理工具(如`sqlplus`或`dbca`)来实现,并通过逻辑控制结构(如if、for循环)确保按顺序执行。 `createTable.sql` 文件很可能是包含创建数据库表结构的SQL脚本。...

    Linux下清理数据库shell脚本

    综上所述,"Linux下清理数据库shell脚本"涉及了Linux系统管理、数据库备份策略、shell脚本编程、任务调度和错误处理等多个方面。通过编写这样的脚本,我们可以实现自动化运维,提高工作效率,同时保障数据的安全性和...

    shell脚本100例(最新版).pdf

    Shell脚本是Linux系统中的一种强大工具,它允许用户通过编写简单的命令行指令组合来实现自动化任务。在《shell脚本100例(最新版).pdf》这本书中,作者详细介绍了各种实用的Shell脚本案例,涵盖了从基础语法到高级...

    发现服务不打日志进行重启shell脚本.txt

    ### 发现服务超过一个小时不打日志进行重启Shell脚本详解 #### 背景介绍 在运维领域,为了确保应用程序或服务的稳定运行,通常会编写一系列的监控脚本来实时监测服务的状态。当发现服务异常时(比如长时间未产生...

    编写Shell脚本

    在IT行业中,Shell脚本是Linux和Unix操作系统中不可或缺的一部分,尤其对于系统管理员和开发者而言,熟练掌握Shell脚本编写技巧至关...因此,投入时间学习和精通Shell脚本编写是每个Linux用户都应该考虑的重要步骤。

    shell脚本100例-详细高清版

    文件名列表中的`shell脚本100例.pdf`可能包含这些实例的详细步骤和代码,覆盖了文件操作(如创建、删除、移动、复制)、系统管理(如启动服务、监控进程)、文本处理(如查找、替换、排序)以及网络操作(如下载、...

    Linux常用的系统监控shell脚本

    ### Linux常用的系统监控Shell脚本知识点解析 在Linux系统管理中,使用Shell脚本来监控系统的运行状态是一种常见且有效的手段。下面将详细解析几个典型的Linux系统监控Shell脚本,涵盖网络流量监控、CPU与内存使用...

    shell脚本修改json中某个字段的值

    在IT行业中,shell脚本是Linux/Unix系统中进行自动化任务处理的一种强大工具。当我们需要对JSON文件中的特定字段进行修改时,shell脚本结合awk和sed命令可以提供灵活且高效的解决方案。以下将详细介绍如何使用这些...

    shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)

    在进行网站性能优化时,分析服务器日志是必不可少的步骤。本文将介绍一个用于分析`nginx`日志的`shell`脚本,该脚本能够帮助我们找出访问次数最多和最耗时的页面,从而针对性地进行优化。这个脚本类似于`MySQL`中的...

    db2自动备份shell脚本

    创建DB2自动备份shell脚本的步骤如下: 1. **连接DB2**:使用`db2 connect to`命令连接到目标数据库,需要提供数据库名、用户名和密码。如果设置有环境变量,可以直接使用`$DB2INSTANCE`、`$DB2USER`和`$DB2...

    linux 安装tomcat shell脚本

    针对标题"Linux安装Tomcat Shell脚本",描述中提到的是一站式脚本,涵盖了安装Tomcat、配置JDK以及创建Tomcat用户等多个步骤。接下来,我们将深入探讨这些知识点。 **一、Linux Shell脚本** Shell脚本是Linux系统...

    基于xtrabackup的MySQL数据库备份及还原Shell脚本.zip

    本教程将详细介绍如何使用`xtrabackup`结合Shell脚本来实现MySQL数据库的备份与还原。 首先,我们需要理解`xtrabackup`的工作原理。`xtrabackup`通过读取InnoDB的数据文件和Redo日志,生成一个完整的物理备份。由于...

    mysql数据迁移,本资源用shell脚本自动完成,人机交互

    Shell脚本可以包含以下步骤: 1. **连接源数据库**:使用`mysql`命令或者`mysqldump`命令的`--host`、`--user`、`--password`和`--database`参数连接到源数据库服务器。 2. **导出数据**:运行`mysqldump`命令来...

    xtrabackup备份恢复shell脚本

    《Xtrabackup备份与恢复:Shell脚本详解》 在MySQL数据库管理中,数据安全至关重要,而定期备份和有效的恢复策略是保障数据安全的关键环节。Xtrabackup是一款开源的、针对InnoDB存储引擎的热备份工具,它能够在不...

    shell脚本一键安装zookeeper3.4.5

    通过这个shell脚本,用户无需手动执行上述所有步骤,只需运行脚本即可完成Zookeeper的安装,大大简化了部署流程,提高了运维效率。在实际使用中,可以根据自己的需求对脚本进行修改和定制,以适应不同的环境和需求。

    shell脚本实现mysql从原表到历史表数据迁移

    这里我们关注的是使用Shell脚本来实现MySQL从原表到历史表的数据迁移。这种自动化的方法可以帮助我们高效、准确地处理大量数据,同时减少人为错误。 首先,让我们深入理解`shell`脚本。Shell是Linux和Unix系统中的...

    Shell脚本基础知识

    - **数据处理**:通过Shell脚本解析日志文件,提取关键信息,进行统计分析。 - **批量文件操作**:自动重命名、移动大量文件,节省人工操作时间。 总之,Shell脚本在Linux环境下的应用极为广泛,无论是系统管理员...

    shell脚本+ant脚本

    Shell脚本可以用于文件操作、系统管理、任务调度等多种场景,例如定时备份、日志处理等。编写Shell脚本的基本元素包括变量、条件语句、循环、函数等,这些元素使得脚本具有一定的程序逻辑。 以下是一个简单的Shell...

Global site tag (gtag.js) - Google Analytics