Apacheログ解析

 #!/usr/bin/perl
 
 my $file = $ARGV[0];
 open $fh, "<$file" or die "$!: $file";
 while (my $line = <$fh>) {
     if ($line =~ 
         m!^[\d\.]+?\s-\s-\s     # SRC-IP - NAME - PASS
            \[[^\]]+\]\s         # [ DATE ]
            "\w+?\s              # HTTP REQUEST CMD
            (/[^?]*)?            # FILE PATH
            [?|\S]*\s            # QUERY STRING
            [^"]*"\s             # HTTP VERSION
            (\d+?)\s             # HTTP RESULT CODE
            (\d+?)\s             # FILE SIZE
            ".+?"\s              # ?
            "[^"]*?"             # USER-AGENT
         !gxms) {
         $result_code = $2;
         $file_size = $3;
         if ($result_code == 404) {
             print "$1\n";
             #print "$line\n";
         }
     }
 }
 close $fh;

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2007-03-15 (木) 19:18:23