BASH Squid linea di comando awk

18/01/2007 by - Bash

Squid è un ottimo proxy server, per conoscere quali sono i domini più cliccati dai nostri utenti possiamo usare una linea di script bash. Ipotizziamo un formato di log del genere

1169028202.491 2456 192.168.1.1 TCP_MISS/200 9013 POST http://www.5t.torino.it/5t/it/percorsi – DIRECT/213.215.218.134 text/html

Contiamo (a occhio va bene) in che posizione si trova la entry relativa alla url richiesta. Il separatore che uso è lo spazio.

1) 1169028202.491
2) 2456
3) 192.168.1.1
4) TCP_MISS/200
5) 9013
6) POST
7) http://www.5t.torino.it/5t/it/percorsi
8) –
9) DIRECT/213.215.218.134
10) text/html

Con awk e la funzione split delimito solo il dominio, dopodichè uso il solito procedimento di ordinamento (sort) e conteggio numerico (uniq -c)

cat  /var/log/squid/access.log | \\

awk '{ split($7,url,/\\//); print url[3]  }' |  \\

sort | uniq -c | sort -nr | less

Si ottiene la “classifica” domini per hits



Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.