3 votes

Exim trouve le nombre total d'emails envoyés dans les dernières 24 heures par utilisateur.

Je veux parcourir les journaux d'exim pour les dernières 24 heures et faire la somme du nombre total d'emails par utilisateur, veuillez me suggérer une ou plusieurs commandes.

Je sais comment visualiser les emails actuellement dans la file d'attente mais je veux savoir quels utilisateurs ont envoyé le plus grand nombre d'emails au cours des dernières 24 heures.

6voto

Fredrik Points 519

Cela peut dépendre de la façon dont votre système d'enregistrement est configuré, mais je pense que cela fonctionnerait sur un système par défaut :

grep -oP "A=\K([A-Za-z0-9_.:]+)" /var/log/exim4/mainlog | sort | uniq -c | sort -nr

Ce qui donnerait quelque chose comme ça :

151 dovecot_plain:grafana
 12 dovecot_plain:jolt
  6 dovecot_plain:banana
  2 dovecot_login:banana

Ce que je fais ici est de trouver A= qui contient le nom d'utilisateur et la manière dont il a été authentifié à partir de /var/log/exim4/mainlog puis je le dirige vers sort y uniq -c qui les regroupe en un groupe et vous donne un numéro. Le dernier sort -nr me donne juste le compte dans un groupe ordonné en sens inverse (le nombre maximum en premier).

Si vous avez différents types d'authentification, par exemple dovecot_plain y dovecot_login mais avec le même nom d'utilisateur, alors la façon la plus simple de s'en débarrasser est de mettre un autre grep qui ne récupère que ce qui est après " :", comme ceci :

grep -oP "A=\K([A-Za-z0-9_.:]+)" /var/log/exim4/mainlog | grep -oP ":\K(.*)" | sort | uniq -c | sort -nr

Et le résultat :

151 grafana
 12 jolt
  8 banana

Nota: Je n'ai pas pris en compte la limite de 24 heures, car cela dépend aussi de la façon dont l'enregistrement est configuré, et cela devient plus compliqué, mais je pense que c'est un bon début. Sinon, vous devez d'une manière ou d'une autre filtrer les timestamps de vos logs avec grep pour filtrer les dates, et ensuite passer cela dans ma chaîne grep.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X