es wäre besser auf die Message ID zu greppen, dann siehst du auch wer das ganze einliefert...
ich hab da kurz was zusammengeflickt, ist zwar nicht schön, sollte aber funktionieren...
Code:
#!/bin/bash
deleteafterdays=184
if [ "$1" = "" ]; then
echo "Parameter: usermaillog <Domain/Aliasdomain> <optional Hauptdomain>"
else
DATUM=`date '+%Y-%m-%d'`
if [ "$2" != "" ]; then
if [ -d /var/www/virtual/$1 ]; then
serverdomain=$1
else
serverdomain=$2
fi
else
serverdomain=$1
fi
if [ -d /var/www/virtual/$serverdomain ]; then
# Berechtigung des Domainverzeichnisses ermitteln
LG=`stat -c%U /var/www/virtual/$serverdomain`
find /var/www/virtual/$serverdomain/logs/mail_$1* -mtime +$deleteafterdays -exec rm {} \; >/dev/null 2>&1
echo "" > /var/www/virtual/$serverdomain/logs/mail_$1_$DATUM
grep $1 /var/log/mail.log | grep postfix | cut -d ":" -f 4 | uniq | sed 's/^[ \t]*//;s/[ \t]*$//' > /tmp/usermaillog.tmp
while read zeile; do
grep $zeile /var/log/mail.log >> /var/www/virtual/$serverdomain/logs/mail_$1_$DATUM
done < /tmp/usermaillog.tmp
rm /tmp/usermaillog.tmp
# Berechtigung auf die angelegte Datei ändern
chown $LG:$LG /var/www/virtual/$serverdomain/logs/mail_$1_$DATUM
else
echo "Fehler: Verzeichnis /var/www/virtual/$serverdomain existiert nicht."
fi
fi
Funktioniert natürlich nur richtig, wenn der spam filter als smtp_proxy und nicht als content filter läuft... (naja content filter ist ja sowiso bullshit ;-))