You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

67 lines
2.5 KiB

Index: pflogsumm.1
--- pflogsumm.1.orig 2012-02-05 23:34:29.000000000 +0100
+++ pflogsumm.1 2012-02-06 08:49:47.000000000 +0100
@@ -171,6 +171,8 @@
\&
\& \-d today generate report for just today
\& \-d yesterday generate report for just "yesterday"
+\& \-d YYYY-MM-DD generate report for just "YYYY-MM-DD"
+\& (Really takes string Date::Parse will handle)
\&
\& \-\-deferral\-detail <cnt>
\&
Index: pflogsumm.pl
--- pflogsumm.pl.orig 2012-02-05 23:25:25.000000000 +0100
+++ pflogsumm.pl 2012-02-06 20:53:39.000000000 +0100
@@ -10,7 +10,7 @@
=head1 SYNOPSIS
- pflogsumm.pl -[eq] [-d <today|yesterday>] [--detail <cnt>]
+ pflogsumm.pl -[eq] [-d <today|yesterday|YYYY-MM-DD>] [--detail <cnt>]
[--bounce-detail <cnt>] [--deferral-detail <cnt>]
[-h <cnt>] [-i|--ignore-case] [--iso-date-time] [--mailq]
[-m|--uucp-mung] [--no-no-msg-size] [--problems-first]
@@ -43,6 +43,9 @@
-d today generate report for just today
-d yesterday generate report for just "yesterday"
+ -d YYYY-MM-DD generate report for just "YYYY-MM-DD"
+ (Actually this will take any date string
+ parsable by the perl Date::Parse module)
--deferral-detail <cnt>
@@ -398,6 +401,7 @@
use strict;
use locale;
use Getopt::Long;
+use Date::Parse;
eval { require Date::Calc };
my $hasDateCalc = $@ ? 0 : 1;
@@ -639,8 +643,8 @@
--$msgMon;
}
- unless((($cmd, $qid) = $logRmdr =~ m#^(?:postfix|$syslogName)(?:/(?:smtps|submission))?/([^\[:]*).*?: ([^:\s]+)#o) == 2 ||
- (($cmd, $qid) = $logRmdr =~ m#^((?:postfix)(?:-script)?)(?:\[\d+\])?: ([^:\s]+)#o) == 2)
+ unless((($cmd, $qid) = $logRmdr =~ m#^<[a-z]+>\s+(?:postfix|$syslogName)(?:/(?:smtps|submission))?/([^\[:]*).*?: ([^:\s]+)#o) == 2 ||
+ (($cmd, $qid) = $logRmdr =~ m#^<[a-z]+>\s+((?:postfix)(?:-script)?)(?:\[\d+\])?: ([^:\s]+)#o) == 2)
{
#print UNPROCD "$_";
next;
@@ -1514,11 +1518,11 @@
# Back up to yesterday
$time -= ((localtime($time))[2] + 2) * 3600;
} elsif($dateOpt ne "today") {
- die "$usageMsg\n";
+ $time = str2time($dateOpt);
}
my ($t_mday, $t_mon, $t_year) = (localtime($time))[3,4,5];
- return sprintf("%s %2d", $monthNames[$t_mon], $t_mday), sprintf("%04d-%02d-%02d", $t_year+1900, $t_mon+1, $t_mday);
+ return sprintf("%s %02d", $monthNames[$t_mon], $t_mday), sprintf("%04d-%02d-%02d", $t_year+1900, $t_mon+1, $t_mday);
}
# if there's a real domain: uses that. Otherwise uses the IP addr.