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.

#!/bin/bash
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

 

/quota/ {
    indirizzo = $7
    sub(/to=/, "",indirizzo)
    sub(/</, "",indirizzo)
    sub(/>/, "",indirizzo)
    sub(/,/, "",indirizzo)
    conta[indirizzo] += 1
}
END {
    for (i in conta) {
        print "Per: " i ":" conta[i]
    }
}

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: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.:61
Per: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.:98
  • Appunti sull'implementazione dell'architettura IT

    Questo documento è nato come introduzione per una consulenza per la razionalizzazione dell'infrastruttura IT in un'azienda; L'aggiunta di alcuni concetti generali lo ha reso di probabile interesse anche per utenti con nozioni informatiche meno avanzate e per questo motivo ora è pubblicato qui. Per il...

    Leggi tutto...

  • DropBox: istanze multiple su sistemi GNU/Linux

    In rete potete trovare le descrizioni di diversi metodi per poter utilizzare più istanze di DropBox sul vostro sistema GNU/Linux; qui presento la mia soluzione, derivata da quanto reperito in rete con alcune modifiche personali. Primi passi Ovviamente dovrete iniziare creando, se non ne avete già,...

    Leggi tutto...

  • Pillole di Apache: Eliminare it 'trailing slash' dagli indirizzi URL

    Utilizzando Zend Framework 2 ho riscontrato un fastidioso problema legato alla presenza della barra alla fine di un indirizzo (la cosiddetta trailing slash): il  meccanismo di routing implementato nel framework non lo gradisce quindi non lo risolve correttamente e genera un errore di pagin non...

    Leggi tutto...

  • Pillole di PHP: iterazione su file e directory

    Capita spesso di dover attraversare una porzione del filesystem per effettuare operazioni su file e directory in modo ricorsivo; per questo ho creato una semplice classe PHP che implementa l'attraversamento (in modo ricorsivo) e dalla quale creare discendenti per manipolare i file nel modo...

    Leggi tutto...

  • Pillole di Bash e Imagemagick: aggiunta watermark

    Quante volte ci è capitato di dover manipolare una serie di immagini per cambiarne inserire un watermark ? Quando sono poche possiamo utilizzare Gimp o qualche altro editor grafico ma quando il numero cresce, diventa un lavoro ripetitivo e parecchio noioso. Per chi non lo sapesse, il watermark è quel...

    Leggi tutto...