Leser: 1
6 Einträge, 1 Seite |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/perl -w
# apache logdatei analysieren
$file = "access.log";
open IN, $file;
while ( $file = <IN> ) {
# if ($file =~ /]/ ) {
$p1= index ($file,"- -");
$p2= index ($file,'"',$p1+1);
$neu = substr ($file,$p1+38,$p2);
print "$neu \n";
$n ++;
}
#}
print "\nAnzahl der Seiten: $n \n";
1
2
3
66.249.72.12 - - [26/Mar/2007:06:27:01 +0200] "GET /pub/erferferfer/88736/56?date=20071111&view=d HTTP/1.1" 200 30965 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.72.12 - - [26/Mar/2007:06:29:47 +0200] "GET /pub/ferferfer/90627/56?date=20071110&view=d HTTP/1.1" 200 30962 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
127.0.0.1 - - [26/Mar/2007:06:30:01 +0200] "GET /moodle/admin/cron.php HTTP/1.0" 200 565 "-" "Wget/1.10.2"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#!/usr/bin/perl # use strict sollte Pflicht sein, verhindert viele Fehler use strict; use warnings; # apache logdatei analysieren my $file = "access.log"; # Fehler sollten abgefangen werden # lexikalische Filehandles haben Vorteile # 3-Arg-open ist sicherer open my $fh,'<', $file or die $!; my %hash; while ( my $line = <$fh> ) { my ($site) = $line =~ /(?:GET|POST)\s([^\s]+)/; $hash{$site}++; } print "\nAnzahl der Seiten: ", scalar(keys %hash), " \n", "-"x25,"\n"; for my $url( keys %hash ){ print $url," : ",$hash{$url},"\n"; }
open my $fh,'<', $file or die $!;
my ($site) = $line =~ /(?:GET|POST)\s([^\s]+)/;
open my $fh,'<', $file or die $!;
Quoteausgegeben.No such file or directory at logger.pl line 13.
my ($site) = $line =~ /(?:GET|POST)\s([^\s]+)/;
perl -pe 's{.*(?:GET|POST) (\S+).*}{$1}' apache_access_log | sort | uniq -c | sort -n
6 Einträge, 1 Seite |