Analyser les plus gros mails envoyés

Un problème affectant principalement les iPasserelles qui utilisent un SMART Host (en général, celui du FAI). Si les mails envoyés sont volumineux, ils mettrons plus de temps à être émis. Ors, pendant ce temps, les nouvelles connexions ne peuvent s'établir, puisque le SMTP du FAI limite en général le nombre de connexion concurrentes.

Il est donc utile de regarder quel sont les mails les plus gros, qui les a envoyé, et bien sûre, quelles tailles font-ils

Voilà un exemple:

cat /var/log/qmail/* | tai64nlocal | grep bytes | egrep '(domain1|domain2|domain3)' | sort -n -k 7 | tail -200 | grep 2010-05

cat /var/log/qmail/*: on analyse tout les logs de qmail (encore présent)

tai64nlocal: on convertie le tag de date créé par multilog en quelque chose de compréhensible

grep bytes: on ne s'intéresse qu'aux lignes qui parlent de taille des message

egrep '(domain1|domain2|domain3)': on ne regarde que les ligne qui contiennent le/les domaine(s) qui nous intéresse (par chance, le from xxx@yyy.com est sur la même ligne que bytes. Cette partie permet de ne regarder que les mails sortant, sinon, les entrants seraient également analysés)

sort -n -k 7: on trie le résultat qu'on a jusque là sur le 7° champs, qui correspond à la taille (on aura ainsi les mails les plus gros en dernier)

tail -200: parmis les plus gros mails trouvés jusque là, on ne regarde que les 200 plus volumineux

grep 2010-05: on peut enfin filtrer sur une date, dans cet exemple, on affiche que les résultats envoyés au mois de Mai

Pour résumer, on obtient au final la liste de tout les mails envoyés au mois de Mai 201, qui font partit des 200 plus gros mails dont l'adresse émetteur contient domain1, domain2 ou domain3.

: les mails relevés par fetchmail peuvent fausser les résultats