当前位置:  技术问答>linux和unix

[求助]Shell编写apache日志分析脚本

    来源: 互联网  发布时间:2017-02-04

    本文导语:  本帖最后由 Galya 于 2012-02-20 13:31:00 编辑 日志格式如下: 127.0.0.1 - - [14/Feb/2012:00:02:32 +0800] "GET /port/user.php?uid=54129&cla=baidu&key=e5d38743014f88f953269399282c86f5 HTTP/1.1" 200 4 "-" "-" 35622 127.0.0.1 - - [14/Feb/2012:00:02:32 +0800] ...

本帖最后由 Galya 于 2012-02-20 13:31:00 编辑
日志格式如下:
127.0.0.1 - - [14/Feb/2012:00:02:32 +0800] "GET /port/user.php?uid=54129&cla=baidu&key=e5d38743014f88f953269399282c86f5 HTTP/1.1" 200 4 "-" "-" 35622
127.0.0.1 - - [14/Feb/2012:00:02:32 +0800] "GET /test.php HTTP/1.1" 200 4 "-" "-" 35622
127.0.0.1 - - [14/Feb/2012:00:02:32 +0800] "GET /port/user.php?uid=12312&cla=google&key=e5d38743014f88f953269399282c86f5 HTTP/1.1" 200 4 "-" "-" 35622
127.0.0.1 - - [14/Feb/2012:00:02:32 +0800] "GET /port/port.php?uid=15642&key=e5d38743014f88f953269399282c86f5 HTTP/1.1" 200 4 "-" "-" 35622
127.0.0.1 - - [14/Feb/2012:00:02:32 +0800] "GET /test.php HTTP/1.1" 200 4 "-" "-" 35622

需求如下:
user.php的分析结果文件名从这里来……aaa.php?cla=bbb……
>>> aaa.bbb.log。

port.php的分析结果输出就直接是port.log

内容格式如下:
IP date response
127.0.0.1 14/Feb/2012:00:02:32 35622

只要user.php和port.php的访问日志。
默认情况下筛选userport的所有日志。
另外,可以在执行脚本时指定user或port,以及某一天的日期进行筛选。

=========================
以下是我大概写的片断,菜鸟,请见谅。
若有更好的也请前辈位帮忙改写一下,谢谢!


……
path=/apache/access/log/
host=$1
case $type in
"user")
cat $file | grep $type | awk '/GET/&&/user.php?uid=/{split($7,a,"[/|.|?|=|&]");print $1,substr($4,2),$NF > a[3]"."a[8]".log"}'
;;
"port")
cat $file | grep $type | awk -F " " '{print $1,substr($4,2),$NF}' >> $path$type.log # 这里的$path起作用了
;;
esac
……


还有一个小问题,一直试不出来:

1、想把输出的文件指定到$path下,如:
/apache/access/log/user.baidu.log

2、把$host(192.168.1.1)的内容添加到输出文件的内容里面,就是在awk筛选出来的结果前加入$host的内容,如:
192.168.1.1 111.111.111.111 14/Feb/2012:00:02:32 35622

我直接把$path和$host放到awk里面,但是执行不了提示错误,实在没办法了。

请指点一下我该怎么改写,谢谢!

|
[16:59:50] tty:[2] jobs:[0] cwd:[~/shell]
[liangdong@jx-csblog01.jx.baidu.com shell]$ echo -e "a.b.cnd.e.cn" | awk -F '.' '{print $1"."$2 >> $3".log"}'
[17:01:25] tty:[2] jobs:[0] cwd:[~/shell]
[liangdong@jx-csblog01.jx.baidu.com shell]$ ll
total 16
-rw-rw-r--  1 liangdong liangdong 80 Feb 16 13:08 a.txt
-rw-rw-r--  1 liangdong liangdong 30 Feb 16 13:11 b.txt
-rw-rw-r--  1 liangdong liangdong  8 Feb 20 17:01 c.log
-rwxrw-r--  1 liangdong liangdong 14 Feb 20 16:23 test.sh
[17:01:26] tty:[2] jobs:[0] cwd:[~/shell]
[liangdong@jx-csblog01.jx.baidu.com shell]$ cat c.log 
a.b
d.e


OK的呀.

|
awk里的变量不需要$,没有其他错误.

|
[root@jx-csblog01.jx.baidu.com ~]# awk -v "path=/root" -v "host=localhost" 'BEGIN{print path","host}'
/root,localhost

这个意思么.

    
 
 

您可能感兴趣的文章:

  • 求助:请问怎么获得在个一个脚本中执行的另外个脚本的返回结果,如执行成功或失败
  • 求助:脚本文件和主程序通信问题
  • 求助几个SHELL脚本 我是 新手
  • 求助:linux脚本语言写SQL语句
  • 求助:Linux 脚本如何提取MAC地址
  • 脚本菜鸟。。。求助。。
  • 求助:shell脚本读取文件内容
  • 求助:使用sh脚本,把文件1.txt中的A都替换成B
  • 用户登陆后自动运行sh脚本,怎么写?(菜鸟求助)
  • crontab无法启动shell脚本,求助!
  • 求助一个Shell脚本问题!
  • shell脚本编写!菜鸟求助
  • 求助一个文档匹配的脚本
  • 【求助】如何同时连接并登录多个服务器,然后执行相同的维护脚本
  • bash脚本编写求助
  • shell 脚本求助
  • 备份数据库的脚本用不了了,求助!
  • [求助] 关于asterisk的检测脚本,谢谢!
  • 求助:脚本自动启动的问题、
  • shell脚本求助
  • 求助:用java如何编写生成pdf格式报表的程序?
  • 求助,LINUX下SHEEL 如何编写
  • 求助:Linux下ftp客户端代码编写
  • 求助!! 在QTE 下如何编写播放flash的 程序????
  • 求助!我编写的程序如何运行?
  • 求助,编写一个SHELL程序,完成简单功能。具体说明见贴内。谢谢!
  • 求助各位大侠:Linux下Ftp客户端程序编写
  • 急~~求助!用C++编写utf8转换成GBK码 iis7站长之家
  • 求助,关于vim编写汇编程序遇到的问题
  • 急~~求助!用C++编写utf8转换成GBK码
  • 求助:编写聊天服务器遇到的问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求助: 进程调度内核分析
  • 新手求助,有没有什么好的流量分析软件介绍一下
  • 日志分析求助
  • 求助:BOSS让我在短期之内分析一个开源软件 杂办?
  • [求助]分析这种特效菜单实现时遇到的问题!请帮助!---在线恭候!!!
  • 求助:分析嵌入实时操作系统uc/os-22内核(第一个字母是“谬”,我这边连office都慢得要死,还请大家多包涵)
  • 高级脚本分析-求助
  • 求助,遍历目录中所有文件的代码分析
  • 求助:分析linux的一段代码-课程设计及用
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 怎样读取HZK24S前十区的内容啊???求助求助
  • 紧急求助!紧急求助!
  • 【求助】iplanet问题,求助高手解答!
  • 菜鸟求助,solaris下计算问题求助
  • 【求助】SOS紧急求助..............极为简单的问题...跪求....
  • 高分求助啊!求助SUSE 10.0 不能上网.
  • 急急急急急急急啊,紧急求助啊!!!!!满分求助啊!!!!!!
  • 求助:linux下 vim的配置(高分求助)
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!!
  • 求助~~求助 ~~linux文件读写问题
  • 求助:信号 --13 进程中断
  • 求助,安装了红帽子后进不了
  • 新装linux求助
  • linux的 iptables问题求助
  • (高分求助)请问,那里有软件开发的<设计文档>
  • 一个简单的问题,高分求助!!!
  • 紧急求助:Unix下给文件夹重命名用什么命令?谢谢!!!!
  • VJ的一个问题,高分求助,熟悉VJ得请进!
  • 高分求助


  • 站内导航:


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

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

    浙ICP备11055608号-3