Sponsored Content
Operating Systems Solaris how to grep or egrep pattern of apache access_log file Post 302313877 by otheus on Wednesday 6th of May 2009 07:34:10 PM
Old 05-06-2009
There's an easy solution, but the problem is that it's not exact. To understand what I mean, consider that Apache logs the requests as it completes them, but the date/time is when the request was made. It's therefore possible that extracting such a range will (a) include requests made (but not completed) before the start of that range and/or (b) exclude requests made within the time range but completed after other requests were made. So with that caveat, simply use awk:

Code:
awk '/02\/May\/2009:14:56:20/, /05\/May\/2009:18:46:06/' access_log

Oh, and since I deal with HTTP logs on a daily basis, one word of advice: change the custom log format to a tab-delimited one, like this:
Code:
LogFormat "%t\t%>s\t%b\t%r" tdf
CustomLog logs/access.tdf tdf

Obviously, you'll want more information in LogFormat -- this is a quick example. For more info, see Log Files - Apache HTTP Server. The main idea is to separate each field with tabs. From this, you can easily convert to the "Common-log" format if needed, but more importantly, you can more easily handle the logs directly with tools like awk.
Code:
awk -F\\t '$2 != 200'

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

egrep a certain pattern

hey guys this is my first post here, heard a lot about these forums. Iam urgently in need of a command which would help me accomplish the following , for example a file has these contents: 211 61 2007-06-26 13:47:32 211 61 2007-06-26 09:53:43 211 61 2007-06-26 15:25:14 211 61 2007-06-26... (5 Replies)
Discussion started by: trust123
5 Replies

2. Shell Programming and Scripting

HOW to egrep fo a pattern

Hi, I want to use egrep to match this expression in my file. The expression begins with the word SCHEDULE and ends with PFTDGNIN. In between these 2 words there can be anything. EX: Line1: SCHEDULE NWERRR#PFTDGNIN Line2: FOLLOWS NWD@AAS#PFTDGNIN So as a result of the egrep command... (1 Reply)
Discussion started by: eliewadi
1 Replies

3. Shell Programming and Scripting

Simple egrep pattern

I'm new to egrep. What pattern could I use to find all lines that match this pattern: <beginning of line><any amount of whitespace>sub<space>. I want it to return the entire line. (I'm trying to generate a list of all Perl sub definitions in a list of Perl modules.) Thanks for your help! (7 Replies)
Discussion started by: blondie53403
7 Replies

4. Shell Programming and Scripting

grep/egrep end of pattern

Hi I use arp to get the mac-addresses of my hosts. # arp -a | grep 192.168.0. e1000g0 192.168.0.1 255.255.255.255 o 00:00:00:00:00:01 e1000g0 192.168.0.11 255.255.255.255 o 00:00:00:00:00:02 e1000g0 192.168.0.2 255.255.255.255 ... (12 Replies)
Discussion started by: domi55
12 Replies

5. UNIX for Dummies Questions & Answers

Difference between grep, egrep & grep -i

Hi All, Please i need to know the difference between grep, egrep & grep -i when used to serach through a file. My platform is SunOS 5.9 & i'm using the korn shell. Regards, - divroro12 - (2 Replies)
Discussion started by: divroro12
2 Replies

6. Shell Programming and Scripting

How to egrep multiple pattern

Hi everyone i want to write a script to grep multiple pattern from all the file from a dir. for example I want to get all the record number from XML file who's last name is asd, smith, dfrt,gokul,and sinha. I tried egrep('sinha'|'gokul'|'asd') but it is not working also i tried saving... (2 Replies)
Discussion started by: revertback
2 Replies

7. Web Development

Include CFTOKEN and CFID in apache access_log

hi folks, how to write CFID and CFTOKEN cookie in apache logs ? can you give me a link or howtos in doing this. thanks in advance (0 Replies)
Discussion started by: linuxgeek
0 Replies

8. Linux

Finding IP info from access_log file

I found the /var/www/logs/access_log file (access log in order to find specific information about IP, And when users last logged in.) but in my fedora the access_log file is is in my /var/log/cups and it looks different from what it should be. Why is that? my goal is to get a list of IP... (4 Replies)
Discussion started by: bugenhagen_
4 Replies

9. Shell Programming and Scripting

sed and awk usage to grep a pattern 1 and with reference to this grep a pattern 2 and pattern 3

Hi , I have a file where i have modifed certain things compared to original file . The difference of the original file and modified file is as follows. # diff mir_lex.c.modified mir_lex.c.orig 3209c3209 < if(yy_current_buffer -> yy_is_our_buffer == 0) { --- >... (5 Replies)
Discussion started by: breezevinay
5 Replies

10. Shell Programming and Scripting

Egrep patterns in a file and limit number of matches to print for each pattern match

Hi I need to egrep patterns in a file and limit number of matches to print for each matched pattern. -m10 option is not working out in my sun solaris 5.10 Please guide me the options to achieve. if i do head -10 , i wont be getting all pattern match results as output since for a... (10 Replies)
Discussion started by: ananan
10 Replies
Apache::DProf(3pm)					User Contributed Perl Documentation					Apache::DProf(3pm)

NAME
Apache::DProf - Hook Devel::DProf into mod_perl SYNOPSIS
#in httpd.conf PerlModule Apache::DProf DESCRIPTION
The Apache::DProf module will run a Devel::DProf profiler inside each child server and write the tmon.out file in the directory $ServerRoot/logs/dprof/$$ when the child is shutdown. Next time the parent server pulls in Apache::DProf (via soft or hard restart), the $ServerRoot/logs/dprof is cleaned out before new profiles are written for the new children. WHY
It is possible to profile code run under mod_perl with only the Devel::DProf module available on CPAN. You must have apache version 1.3b3 or higher. When the server is started, Devel::DProf installs an "END" block to write the tmon.out file, which will be run when the server is shutdown. Here's how to start and stop a server with the profiler enabled: % setenv PERL5OPT -d:DProf % httpd -X -d `pwd` & ... make some requests to the server here ... % kill `cat logs/httpd.pid` % unsetenv PERL5OPT % dprofpp There are downsides to this approach: - Setting and unsetting PERL5OPT is a pain. - Server startup code will be profiled as well, which we are not really concerned with, we're interested in runtime code, right? - It will not work unless the server is run in non-forking "-X" mode These limitations are due to the assumption by Devel::DProf that the code you are profiling is running under a standard Perl binary (the one you run from the command line). "Devel::Dprof" relies on the Perl "-d" switch for intialization of the Perl debugger, which happens inside "perl_parse()" function call. It also relies on Perl's special "END" subroutines for termination when it writes the raw profile to tmon.out. Under the standard command line Perl interpreter, these "END" blocks are run when the "perl_run()" function is called. Also, Devel::DProf will not profile any code if it is inside a forked process. Each time you run a Perl script from the command line, the "perl_parse()" and "perl_run()" functions are called, Devel::DProf works just fine this way. Under mod_perl, the "perl_parse()" and "perl_run()" functions are called only once, when the parent server is starting. Any "END" blocks encountered during server startup or outside of "Apache::Registry" scripts are suspended and run when the server is shutdown via apache's child exit callback hook. The parent server only runs Perl startup code, all request time code is run in the forked child processes. If you followed the previous paragraph, you should be able to see, Devel::DProf does not fit into the mod_perl model too well. The Apache::DProf module exists to make it fit without modifying the Devel::DProf module or Perl itself. The Apache::DProf module also requires apache version 1.3b3 or higher and "PerlChildInitHandler" enabled. It is configured simply by adding this line to your httpd.conf file: PerlModule Apache::DProf When the Apache::DProf module is pulled in by the parent server, it will push a "PerlChildInitHandler" via the Apache push_handlers method. When a child server is starting the "Apache::DProf::handler" subroutine will called. This handler will create a directory "dprof/$$" relative to ServerRoot where Devel::DProf will create it's tmon.out file. Then, the handler will initialize the Perl debugger and pull in Devel::DProf who will then install it's hooks into the debugger and start it's profile timer. The "END" subroutine installed by Devel::DProf will be run when the child server is shutdown and the $ServerRoot/dprof/$$/tmon.out file will be generated and ready for dprofpp. NOTE: $ServerRoot/logs/dprof/ will need to be writable by the user Apache is running as (i.e. nobody, apache, etc.). If you can not write to $ServerRoot as this user, set $ENV{APACHE_DPROF_PATH_ABSOLUTE} to an absolute path of a directory this user can. AUTHOR
Originally written by Doug MacEachern Currently maintained by Frank Wiles <frank@wiles.org> LICENSE
This module is distributed under the same terms as Perl itself. SEE ALSO
Devel::DProf(3), Apache::DB(3), mod_perl(3), Apache(3) perl v5.14.2 2006-09-13 Apache::DProf(3pm)
All times are GMT -4. The time now is 06:22 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy