Rotieren und Auswerten der Squid-Logs

Für die Auswertung kommt SARG (Squid Analysis Report Generator) in Frage  aber auch Calamaris bietet eine übersichtliche Auswertung. Einen Favoriten habe ich noch nicht.

  1.  
  2. #!/bin/sh
  3.  
  4. BACKUPS=40
  5.  
  6. # rotating
  7. if [ -f /var/log/squid/access.log.$BACKUPS.gz ]; then
  8. /bin/rm//var/log/squid/access.log.$BACKUPS.gz
  9. fi
  10.  
  11. i=`expr $BACKUPS - 1`
  12. while [ $i -ge 0 ]
  13. do
  14. j=`expr $i + 1`
  15. if [ -f /var/log/squid/access.log.$i.gz ]; then
  16. # echo /bin/mv /var/log/squid/access.log.$i.gz /var/log/squid/access.log.$j.gz
  17. /bin/mv /var/log/squid/access.log.$i.gz /var/log/squid/access.log.$j.gz
  18. /bin/sleep 1
  19. fi
  20. i=`expr $i - 1`
  21. done
  22.  
  23. # squid owns rotating
  24. /usr/local/sbin/squid -k rotate
  25. /bin/sleep 5
  26. /bin/rm /tmp/access.log.0
  27. /bin/cp /var/log/squid/access.log.0 /tmp/
  28. /usr/bin/gzip /var/log/squid/access.log.0
  29. /bin/rm /var/log/squid/*.0
  30. /usr/local/bin/sarg -n -l /tmp/access.log.0 -email

Dieses Script ist natürlich stark verbesserungswürdig und etwas umständlich geschrieben (lag an ein paar Problemen mit sarg), für meine Zwecke reicht das aber.

Weitere sarg-Optionen:

-ge -convert LOGFILE gibt das Logfile nach STDOUT aus - mit lesbarem europäischem Datum
-d TT/MM/JJJ-TT/MM/JJJJ Ausgabe von bis Datum
-n aktiviert DNS-Abfrage