zoukankan      html  css  js  c++  java
  • 统计IP

    #用法传入日志文件
    use HTTP::Date qw(time2iso str2time time2iso time2isoz);
    my $CurrTime = (split / /,time2iso(time()))[0];
    my %log;
    if ( $#ARGV < 1 ){  
            print "please input your date!
    ";
                    exit(-1);  
                        } 
                        $date= $ARGV[0];  
                        $ip_addr = $ARGV[1];
                        @file = glob "/data/backup_log/othrun/mbankapp/$ip_addr/$date/logs.log$date*";
                       foreach $file (@file){
                 #            print "------file is $file-----------
    ";
                      my %log;
                        open (LOG ,"<","$file");
                        while (<LOG>) {
                        chomp;
                        ##正则条件匹配
                        if ($_ =~ /X-Forwarded-For====(d{1,3}.d{1,3}.d{1,3}.d{1,3})/){
                        #print "$1 is $1
    ";
                        $var= $1;
                        $log{$var}++;
                        }
                        }
    };
        if (-f "mbank$ip_addr-$date.log"){unlink "mbank$ip_addr-$date.log"};
                        while(my($ip, $times) = each %log) {
                             print "$ip  $times
    ";
                             open (B ,">>mbank$ip_addr-$date.log");
                             print B ("$ip  $times
    ");
                                  }
    
    $count = `wc -l mbank$ip_addr-$date.log`;
    print "访问总数为:$count
    ";

  • 相关阅读:
    JavaScript中的this相关
    Git进阶操作_1
    Git基本操作_5
    Git基本操作_4
    Git基本操作_3
    Git基本操作_2
    利用Python发送SMTP邮件
    Python JWT使用
    Python中的Asyncio 异步编程
    Python中的抽象类和接口类
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351808.html
Copyright © 2011-2022 走看看