Home > Appunti > List Postfix Mailbox Overquota

List Postfix Mailbox Overquota

Inserito da amedeo on December 17, 2011

Come creare un semplice script per elencare le caselle di posta  con errori per limiti di capienza su server con Postfix .

Lo script è piuttosto semplice e si limita ad estrarre le informazioni dal file di log e  farle filtrare da awk per ottenere l'elenco che ci interessa. 

Create il file list_mail_overquota utilizzando il vostro editor preferito. Non essendo un guru dei sistemi Unix-like non amo il sofisticato Emacs  e nemmeno il potente quanto macchinoso vi e solitamente utilizzo joe o nano. Ovviamente se utilizzate un'interfaccia grafica (cosa peraltro insolita su un server GNU/Linux) potete affidarvi ad un altro editor di vostro piacimento.

joe list_mail_overquota

Il contenuto sarà piuttosto scarno e sarà costituito da alcuni comandi concatenati che servono ad estrarre dal file di LOG le informazioni che ci interessano e d a trasformarle in modo da visualizzare solamente quello che coi interessa in una forma semplice e leggibile.

 

  1. #!/bin/bash
  2. grep "over quota" /var/log/mail.info | awk -f list_mail_overquota.awk | sort

dallo script potete già notare che awk viene richiamato passandogli un file contenente le regole per filtrare l'output estratto tramite grep. Non ci resta quindi che creare il file:

joe list_mail_overquota.awk
  1. /quota/ {
  2. indirizzo = $7
  3. sub(/to=/, "",indirizzo)
  4. sub(/</, "",indirizzo)
  5. sub(/>/, "",indirizzo)
  6. sub(/,/, "",indirizzo)
  7. conta[indirizzo] += 1
  8. }
  9. END {
  10. for (i in conta) {
  11. print "Per: " i ":" conta[i]
  12. }
  13. }

Il funzionamento è abbastanza semplice:

  • per ogni riga contenente la segnalazione di quota overflow, estrae l'indirizzo di posta ed incrementa il relativo contatore
  • al termine visualizza l'elenco di indirizzi interessati con il relativo contatore.

ora dobbiamo rendere eseguibile lo script:

chmod +x list_mail_overquota

 

e non ci resta che farlo eseguire:

./list_mail_overquota

 

per ottenere l'elenco dei nostri utenti che non provvedono a ripulire regolarmente la propria casella di posta

Per: user1@inforisorse.it:61
Per: user2@inforisorse.it:98

 

come potete notare, l'output generato è molto semplice, dato che per le mie necessità basta, ma con poche modifiche potete adattarlo ad eventuali esigenze più sofisticate.

Comments:

Rispondi



(La tua email non sarĂ  mostrata pubblicamente)

Inserire le lettere ed i numeri mostrati nell'immagine.Codice captchaFai clic sull'immagine per vedere un altro captcha.