Anzahl der Virus-Mails auswerten

Aus Wiki.csoft.at

Nachfolgendes Perl-Script wertet die /var/log/kav/smtpscanner.log aus aus und gibt eine Liste mit der Anzahl der Virus-Mails und deren Gesamtsumme zurück

#!/usr/bin/perl
# Kaspersky E-Mail gateway protection: smtpscanner.log auswerten
$file=shift;
if (!$file) {
  print "Wer kriegt die meisten Viren?\n";
  print "smtpscanner.log als Parameter angeben!\n";
  exit 1;
}
open (INPUT, $file) or die "$file not found.\n";
  while (<INPUT>){
    chop $_;
    if ($_ =~ m/check result/) {
      if ($_ !~ m/<clean>/) {
        ($x, $rcpt) = split(/,to=|,check result/,$_);
        $rcpt=~s/<|>//g;
        push(@uniq, $rcpt) unless $seen{$rcpt}++;
        $z++;
      }
    }
  }
close INPUT;
@rcpt=keys %seen;
@anzahl=values %seen;
foreach $rcpt (sort {$seen{$b}<=>$seen{$a}} keys %seen) {
  print $seen{$rcpt},"\t",$rcpt,"\n";
  # $not_licensed=`/opt/kav/bin/licenseviewer -u $rcpt`;
  # if ($not_licensed =~ /is not licensed/) {
  #   push (@not_licensed, $rcpt);
  # }
}
print "$z\tTOTAL\n";
if (@not_licensed) {
  print "Not licensed for Kaspersky Antivirus:\n";
  foreach(@not_licensed) {
    print "$_\n";
  }
}
exit 0;


Siehe auch