1. #! /usr/bin/perl
  2.  
  3. # load module
  4. use DBI;
  5.  
  6. $mins=300;
  7. $rate_limit=10;
  8. $IP=$ARGV[0];
  9.  
  10. $current_time = `date +"%Y%m%d%H%M%S"`;
  11. $previous_time = `date +"%Y%m%d%H%M%S" -d "$mins minutes ago"`;
  12.  
  13. # connect
  14. my $dbh = DBI->connect("DBI:mysql:database=logger;host=localhost", "dbuser", "dbpassword", {'RaiseError' => 1});
  15.  
  16. # execute SELECT query
  17. my $sth = $dbh->prepare("SELECT COUNT(*) FROM access WHERE IP='$IP' AND datetime >= '$previous_time' AND datetime < '$current
  18. _time'");
  19. $sth->execute();
  20.  
  21. $count = $sth->fetchrow_array();
  22. $sth->finish();
  23. $count = "(Couldn't obtain count)" if !defined($count);
  24.  
  25.  
  26. print $count;
  27.  
  28. # clean up
  29. $dbh->disconnect();
  30.