#!/usr/bin/perl $LOGFILE=$ARGV[0] || "access.log"; # Хождение через squid на наши-же домены не считаем @LOCALDOMAIN=("troitsk.ru","podolsk.ru","inetcomm.ru","inetcomm.net"); open(LOG,"$LOGFILE") || die "can't open log $LOGFILE"; while() { chomp($s=$_); @str=split(/[\s|\t]+/,$s); # Отлупы (DENIED) и попадания в cache тоже не считаем if ( $str[3] !~m/^TCP_DENIED/ && $str[3] !~m/^TCP_HIT/ && $str[3] !~m/^TCP_IMS_HIT/ ) { $local = 0; foreach $i ( @LOCALDOMAIN ) { if ( $str[6] =~m/^.+\:\/\/.+$i/i ) { $local=1; } } if ( !$local ) { $total{$str[2]}+=$str[4]; } } } close(LOG); foreach $i ( sort keys %total ) { print "$i $total{$i}\n"; }