#!/usr/bin/perl -an #Jan 31 07:27:54 vinson postfix/smtpd[11082]: connect from #ox.eicat.ca[66.96.30.35] # #Jan 31 07:27:54 vinson postfix/smtpd[11082]: B59774F6: #client=ox.eicat.ca[66.96.30.35] # #Jan 31 07:27:54 vinson postfix/cleanup[11884]: B59774F6: #message-id=<20050131122753.1DEFCCFB5@ox.eicat.ca> # #Jan 31 07:27:54 vinson postfix/smtpd[11082]: disconnect from #ox.eicat.ca[66.96.30.35] # #Jan 31 07:27:54 vinson postfix/qmgr[15625]: B59774F6: #from=, size=1263, nrcpt=1 (queue active) # #Jan 31 07:27:54 vinson postfix/local[12551]: B59774F6: #to=, orig_to=, #relay=local, delay=0, status=sent ("|/usr/bin/procmail") #($debug && print "skipping..") && (skip) if (/connect from/); $date = join(" ",@F[0..2]); $line = join(" ",@F[7..$#F]); $id = $F[5]; if (m/from=<([^>]+)>/) { $from{$id} = $1; $debug && print "Processing: $date $id $1\n"; } $m{$id}{$line}++; $m{$id}{$line}{lastdate} = $date; END { print "\n\n\n=====================================================\n"; for $id (keys %m) { print "---", $id, "-"x65, "\n"; for $line (keys %{$m{$id}}) { print $m{$id}{$line}, ":\t", $m{$id}{$line}{lastdate}, "\t", $line, "\n"; } } }