Sunday, June 6, 2010

PowerMta Bounce log parsing.

#!/bin/sh
#Tolga

date=`date +%Y-%m-%d`
date1=`date +%Y%m%d`

#hardbounce
#hata kodlarına göre örnek taglemeyi conf da farklı yaptı iseniz grep lerdeki hata isimlerini aşağıdalinden farklı alabilirsiniz.

#Pathleri falan değişkenle vermedim değiştirebilirsiniz kendi setup'ınıza göre.
#bir grep'de grep -v tek tek |diğerinde \| and ile. değiştirebilrisiniz -v ile olanıda kısa olur. O an aklıma öle esmiş #öle yazmışım.
#Sıralama
#From,bounce mail adress,hata şeklinde
#Bunu crona bağlar, sonra bu günlük generate logları mail listenizden temizletirseniz.
#otomatiğe bağlarsınız.

cat /xxxxx/bounced-$date-*.csv | grep "bad-mailbox\|bad-domain\|routing\|policy\|inactive\|spam\|no-answer-from"|  awk -F "," '{print $5 "," $6 "," $8}' | sort | uniq >> /logs/$date1-hardbounced-xxx.csv

cat /xxxxx/bounced-$date-*.csv |  grep -v "bad-mailbox" |grep -v "bad-domain"|grep -v routing |grep -v policy |grep -v inactive |grep -v other |grep -v spam| grep -v "no-answer-from" | grep -v "header_Message-Id"| awk -F "," '{print $5 "," $6 "," $8}' | sort | uniq >> /logs/$date1-softbounced-xxx.csv

No comments:

Post a Comment