diff options
author | Jonas Smedegaard <dr@jones.dk> | 2007-09-15 02:06:16 +0000 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2007-09-15 02:06:16 +0000 |
commit | 807c2c3e4f733b43b6b9cd21f085690e6efe514c (patch) | |
tree | 273fac2a6978c35a9b44929c2932db3d9d5f75b9 /localshowmailreceivedfromdomain | |
parent | d1badbce054b5510145c56e7e014db50edc12320 (diff) |
Fix bashism by using find + sort. Speedup scanning by using mail.log and only the single most recent file by default (overridable with logfiles=).
Diffstat (limited to 'localshowmailreceivedfromdomain')
-rwxr-xr-x | localshowmailreceivedfromdomain | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/localshowmailreceivedfromdomain b/localshowmailreceivedfromdomain index a671408..d83f394 100755 --- a/localshowmailreceivedfromdomain +++ b/localshowmailreceivedfromdomain @@ -3,11 +3,15 @@ # /usr/local/sbin/localshowmailreceivedfromdomain # Copyright 2007 Jonas Smedegaard <dr@jones.dk> # -# $Id: localshowmailreceivedfromdomain,v 1.1 2007-09-15 01:53:15 jonas Exp $ +# $Id: localshowmailreceivedfromdomain,v 1.2 2007-09-15 02:06:16 jonas Exp $ # # List emails recently received from a certain domain # # TODO: Handle other indicatiors than AMaViS # -(zcat /var/log/syslog.{7,6,5,4,3,2,1}.gz; cat /var/log/syslog) | egrep -- '@'"$1"'> -> ' | sed 's/^\(.\{15\}\) [^)]*) \([^,]*\), [^]]*] \([^ ]*\) -> .*Message-ID: \([^>,]*>\?\).*/\1 \3 (\4) \2/' +logfiles=1 + +find /var/log -name 'mail.log*' | sort -nr -t. -k3 | tail -n "$logfiles" | xargs zcat -f \ + | egrep -- '@'"$1"'> -> ' \ + | sed 's/^\(.\{15\}\) [^)]*) \([^,]*\), [^]]*] \([^ ]*\) -> .*Message-ID: \([^>,]*>\?\).*/\1 \3 (\4) \2/' |