#!/bin/bash
#
# Script para Geracao de Relatorio do SARG
# Adaptado para utilizar logs de rotate e compactados
#
# Idealizado por Fernando Val <[email protected]>
#
# Histórico:
#
# versão data nome comentários
# 1.0.0.0 2004-11-16 Fernando Val (none)
#
LOGDIR="/var/log/squid"
function catlogs()
{
find $LOGDIR -maxdepth 1 -name "access.log*" -mtime -$DAYS |
xargs ls -tr /dev/null |
while read LOGFILE ; do
[ -r "$LOGFILE" ] &&
case "$LOGFILE" in
*.gz) zcat "$LOGFILE" ;;
*.bz2) bzcat "$LOGFILE" ;;
*) cat "$LOGFILE" ;;
esac
done
}
function geralog()
{
# doreport DESTINATION FROMTIME-WHEN
DAYS="$1"
FROMTIME="$2"
TOTIME="$3"
STARTTIME=`date +%s -d "$FROMTIME"`
ENDTIME=`date +%s -d "$TOTIME"`
echo "Generating report from" \
"`date +%Y%m%d -d "$FROMTIME"`" "to" \
"`date +%Y%m%d -d "$TOTIME"`"
# Unzip files before use ...
# find $LOGDIR -maxdepth 1 -name "access.log-*.gz" -mtime -$DAYS -exec gunzip {} \;
catlogs > /tmp/squid.log
}
geralog 7 "1 day ago 00:00" "00:00"
exec /usr/bin/sarg \
-l /tmp/squid.log \
-o /var/www/sarg/daily \
-d "$(date --date "1 day ago" +%d/%m/%Y)"
rm -f /tmp/squid.log