关闭

postfix日志每天发送情况统计

标签: filedomain数据库
1679人阅读 评论(0) 收藏 举报
#!/usr/bin/perl
use POSIX qw(strftime);
my $mon = strftime("%b",localtime(time()-86400));
my $day = strftime("%d",localtime(time()-86400));
my $yesterday  = strftime("%Y%m%d",localtime(time()-86400));
my %success;
my %all;

my $dom  = shift || "";


my @f = </var/log/maillog*>;
my $last_file = (map { $_->[1] } sort { $b->[0] <=> $a->[0] } map  { [ (stat($_))[9], $_ ] } @f)[0];

my $pat_one = qr/$mon/s+$day.*?to=<(.*?/@(?:[^.]+/.)*$dom[^>]*)>.*?status=sent/x;
my $pat_two = qr{$mon/s+$day.*?to=<(.*?/@(?:[^.]+/.)*$dom[^>]*)>.*?}x;

open LOG,$last_file;
while(<LOG>) {
  if (/$pat_one/) {
    $success{$1}++;
  }
  if (/$pat_two/) {
    $all{$1}++;
  }
}
close LOG;

最后对 %success,%all操作,可以写到文本,可以记录到数据库等等

运行: xxx.pl domain_name  
例如:a.pl sohu.com
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:137180次
    • 积分:2017
    • 等级:
    • 排名:第19050名
    • 原创:63篇
    • 转载:0篇
    • 译文:2篇
    • 评论:8条
    文章分类
    最新评论