fork
13.08.14, 14:49
Hi,
mal wieder ein kleines Script. Vielleicht kanns jemand gebrauchen.
mailgrep
Es zeigt aus den letzten paar Mailserver-logfiles zu einer eingegebenen E-Mailadresse(Empfänger oder Absender) anhand der gefundenen Message-IDs den Mailfluss für diese Nachrichten an.
Ich nutze das mit postfix unter Ubuntu/Debian.
#!/bin/bash
if [ "$#" -lt 1 ]; then
echo -e "\nProgram: mailgrep\n";
echo -e "Description: Show information about specific mailadresses from mail.log"
echo -e "\nUsage: $(basename $0) <email-address>\n"
exit 1
fi
address="$1"
tmp1=$(mktemp)
cd /var/log
echo "Digging Logfiles..."
{ zcat mail.log.6.gz mail.log.5.gz mail.log.4.gz mail.log.3.gz mail.log.2.gz; cat mail.log.1 mail.log.0 mail.log; } 2>/dev/null \
| grep $address \
| grep -v NOQUEUE \
| awk '{print $6}' \
| cut -d: -f1 \
| sort \
| uniq \
| grep -E "[0-9A-F]{11}" >$tmp1
{
zcat mail.log.6.gz mail.log.5.gz mail.log.4.gz mail.log.3.gz mail.log.2.gz
cat mail.log.1 mail.log.0 mail.log
} 2>/dev/null | fgrep -f$tmp1
rm -f $tmp1
mal wieder ein kleines Script. Vielleicht kanns jemand gebrauchen.
mailgrep
Es zeigt aus den letzten paar Mailserver-logfiles zu einer eingegebenen E-Mailadresse(Empfänger oder Absender) anhand der gefundenen Message-IDs den Mailfluss für diese Nachrichten an.
Ich nutze das mit postfix unter Ubuntu/Debian.
#!/bin/bash
if [ "$#" -lt 1 ]; then
echo -e "\nProgram: mailgrep\n";
echo -e "Description: Show information about specific mailadresses from mail.log"
echo -e "\nUsage: $(basename $0) <email-address>\n"
exit 1
fi
address="$1"
tmp1=$(mktemp)
cd /var/log
echo "Digging Logfiles..."
{ zcat mail.log.6.gz mail.log.5.gz mail.log.4.gz mail.log.3.gz mail.log.2.gz; cat mail.log.1 mail.log.0 mail.log; } 2>/dev/null \
| grep $address \
| grep -v NOQUEUE \
| awk '{print $6}' \
| cut -d: -f1 \
| sort \
| uniq \
| grep -E "[0-9A-F]{11}" >$tmp1
{
zcat mail.log.6.gz mail.log.5.gz mail.log.4.gz mail.log.3.gz mail.log.2.gz
cat mail.log.1 mail.log.0 mail.log
} 2>/dev/null | fgrep -f$tmp1
rm -f $tmp1