#!/usr/local/bin/bash
emails=" ДядяВася@МойДомен "
logfile="/var/log/postfix.log"
# Создаём цикл для почтовыйх ящиков в списке emails
for myemail in ${emails}
do
# Непринятая почта
cat $logfile | grep "$myemail" | grep "NOQUEUE" | awk '{ for (i=NF;i>0;--i) {{a=$i} if ( a~"from=" ) {print $1,$2,$3,a}}}' > ./tmp/noqueue.$myemail
# Кто присылал почту
cat /dev/null > ./tmp/who-is-send.$myemail
id=$(cat $logfile | grep "$myemail" | grep "postfix/virtual" | awk '{print $6}' | cut -d\: -f1)
for myid in ${id}
do
cat $logfile | grep "$myid" | grep "from" | awk '{print $1,$2,$3,$7,$8}' | sed s/","/""/g | sed s/"size="/""/g >> ./tmp/who-is-send.$myemail
done
# Кому посылали почту
cat /dev/null > ./tmp/$myemail.send-to
id=$(cat $logfile | grep "$myemail" | grep "postfix/qmgr" | awk '{print $6}' | cut -d\: -f1)
for myid in ${id}
do
kol=$(cat $logfile | grep "$myid" | grep "relay" | grep -v "127.0.0.1" | awk '{print $1,$2,$3,$7,$8}' | sed s/","/""/g | sed s/"size="/""/g | wc -l | awk '{print $1}')
if [ $kol != 0 ]
then
firstlog=$(cat $logfile | grep "$myid" | grep "from" | awk '{print $1,$2,$3,$7}' | sed s/","/""/g)
traflog=$(cat $logfile | grep "$myid" | grep "from" | awk '{print $8}' | sed s/","/""/g | sed s/"size="/""/g)
secondlog=$(cat $logfile | grep "$myid" | grep "relay" | grep -v "127.0.0.1" | awk '{print $7}' | sed s/","/""/g)
echo "$firstlog $secondlog $traflog" >> ./tmp/$myemail.send-to
fi
done
traf=$(cat ./tmp/who-is-send.$myemail | awk '{s+=$5} END {print s}')
echo "$myemail (Входящий траффик) -- $traf Байт"
done
В директории куда положишь скрипт, нужно создать папку tmp