in reply to Re: site statistics
in thread site statistics

Sorry about that formatting :) My bad... I promise to use CODE instead PRE from now on...
#!/usr/bin/perl # v0.1 April 18 2001 # dennis@durrow.com # Read apache log files # and tell me unique visits per day # and tell me the most popular page open(LOG_FILE,"/var/log/httpd/access_log") || die "Can't open"; $totalsize = 0; $count_not_found = 0; $count_unique = 0; $countrtget = 0; $countrtpost = 0; $countrtunknown = 0; $counthttp1 = 0; $counthttp11 = 0; $counthttpunknown = 0; $countsearchengine = 0; while($line = <LOG_FILE>) { chop($line); $count++; #break apart into the categories ($ip, $dash1, $dash2, $date, $tzoffset, $requesttype, $url, $http_ +type, $status, $size) = split(/ /,$line); print "$ip $url\n"; if($url eq "/robots.txt") { $countsearchengine++; } if($count < 2) { $start_date = $date; } if($status eq "404") { $count_not_found++; } if($requesttype eq "\"GET") { $countrtget++; } elsif($requesttype eq "\"POST") { $countrtpost++; } else { $countrtunknown++; } if($http_type eq "HTTP/1.0\"") { $counthttp1++; } elsif($http_type eq "HTTP/1.1\"") { $counthttp11++; } else { $counthttpunknown++; } $totalsize += $size; }; print "\nAccess log Results\n"; print "=====================\n"; print "Log Start: $start_date\n"; print "Log End: $date\n"; print "# of possible web crawlers: $countsearchengine\n"; print "# of unique hits: $count_unique\n"; print "# of get request types: $countrtget\n"; print "# of post request types: $countrtpost\n"; print "# of unknown request types: $countrtunknown\n"; print "# of 404 errors: $count_not_found\n"; print "# of Requests: $count\n"; print "# of bytes transferred: $totalsize\n"; print "# of 1.0 HTTP Request Types: $counthttp1\n"; print "# of 1.1 HTTP Request Types: $counthttp11\n"; print "# of unknown HTTP Request Types: $counthttpunknown\n";