From 31a2f897cfd72618879f348b9c6c63b6f317d2c5 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Sun, 3 Feb 2008 22:09:07 +0000 Subject: Rewrite to use common localshowlogentries. --- localshowmaildelivered | 64 ++++++++++++++++---------------------------------- 1 file changed, 20 insertions(+), 44 deletions(-) (limited to 'localshowmaildelivered') diff --git a/localshowmaildelivered b/localshowmaildelivered index 2b4f992..5dea331 100755 --- a/localshowmaildelivered +++ b/localshowmaildelivered @@ -1,43 +1,42 @@ #!/bin/sh # # /usr/local/sbin/localshowmaildelivered -# Copyright 2007 Jonas Smedegaard +# Copyright 2007-2008 Jonas Smedegaard # -# $Id: localshowmaildelivered,v 1.6 2007-10-04 00:38:03 jonas Exp $ +# $Id: localshowmaildelivered,v 1.7 2008-02-03 22:09:07 jonas Exp $ # # List recently delivered emails # -input="${input:-user}" -output="${output:-shortline}" -logfilecount="${logfilecount:-1}" pattern="${pattern:-user_dovecot}" - mailname="$(cat /etc/mailname | head -n 1)" - sed_longline='s/^\(.\{15\}\) [^:]*: /\1 /' -sed_time='s/^\(.\{15\}\) .*$/\1 /' case $pattern in user_dovecot) # Dovecot "deliver" - egrep_before='deliver\((' - egrep_after=')\).*saved mail to ' - sed_shortline='s/^\(.\{15\}\) [^)]*): msgid=/\1 (/;s/: saved mail to/)/;s/ INBOX$//' - sed_msgid='s/^[^)]*): msgid=//;s/: .*$//' + localshowlogentries "$1" \ + 'deliver\((' \ + ')\).*saved mail to ' \ + 's/^\(.\{15\}\) [^)]*): msgid=/\1 (/;s/: saved mail to/)/;s/ INBOX$//' \ + 's/^[^)]*): msgid=//;s/: .*$//' ;; user_procmail) # Postfix/local via procmail - egrep_before=' postfix/local.*: to=<' - egrep_after='@'"$mailname"'>, .*status=sent \(delivered to command: procmail' - sed_shortline='s/^\(.\{15\}\) [^:]*: /\1 (/;s/: .*$/)/' - sed_qid='s/^[^:]*: //;s/: .*$//' + localshowlogentries "$1" \ + ' postfix/local.*: to=<' \ + '@'"$mailname"'>, .*status=sent \(delivered to command: procmail' \ + 's/^\(.\{15\}\) [^:]*: /\1 (/;s/: .*$/)/' \ + '' \ + 's/^[^:]*: //;s/: .*$//' ;; qid_postfix) - egrep_before='[^[:xdigit:]]' - egrep_after='[^[:xdigit:]]' - sed_shortline="$sed_longline" - sed_qid='s/^[^:]*: //;s/: .*$//' + localshowlogentries "$1" \ + '[^[:xdigit:]]' \ + '[^[:xdigit:]]' \ + "$sed_longline" \ + '' \ + 's/^[^:]*: //;s/: .*$//' ;; *) echo >&2 "ERROR: unknwon pattern \"$pattern\"" @@ -45,27 +44,4 @@ case $pattern in ;; esac -case $output in - shortline) - sedstring="$sed_shortline" - ;; - longline) - sedstring="$sed_longline" - ;; - msgid) - sedstring="$sed_msgid" - ;; - qid) - sedstring="$sed_qid" - ;; - *) - echo >&2 "ERROR: unknwon output \"$output\"" - exit 1 - ;; -esac - -localuser="$1" - -find /var/log -name 'mail.log*' | sort -nr -t. -k3 | tail -n "$logfilecount" | xargs zcat -f \ - | egrep -- "$egrep_before$localuser$egrep_after" \ - | sed "$sedstring" +exit 0 -- cgit v1.2.3