#!/bin/bash # Script para merge entre o log do samba e do squid # para utilizacao com proxy transparente e poder gerar um # relatorio de acesso internet por usuario # Escrito por: Flavio do Carmo Junior aka waKKu # # PS: Pra ajudar o chato do booo e do k4k0 :D - sorte ae! SMB="smbgate.log" ACCESS="access.log" IPS="$(cat smbgate.log | awk '{print $2}' | sort -u)" NUMLINHAS="$(wc -l smbgate.log | awk '{print $1}')" LINHA=1 while [ $LINHA -le $NUMLINHAS ]; do for IP in $IPS; do TIME="$(grep "$IP" $SMB | awk "NR>=$LINHA && NR<=$LINHA+1" | awk '{print $3}' 2>/dev/null)" USER="$(grep "$IP" $SMB | awk "NR>=$LINHA && NR<=$LINHA+1" | awk '{print $4}' 2>/dev/null)" USER=$(echo "${USER}" | uniq | tr -d ' ') TIMEMIN="$(echo $TIME | awk '{print $1}')" TIMEMAX="$(echo $TIME | awk '{print $2}')" if [ ! -z $USER ] && [ ! -z $TIMEMIN ] && [ ! -z $TIMEMAX ]; then echo "User: $USER - TimeMin: $TIMEMIN - TimeMax: $TIMEMAX - IP: $IP" sed -e 's/^\([0-9]\+\)\....\(.*$\)/\1\2/' $ACCESS | awk -v USER="$USER" -v TIMEMIN="$TIMEMIN" -v TIMEMAX="$TIMEMAX" -v IP="$IP" '$1>=TIMEMIN && $1<=TIMEMAX && $3==IP {print $0 gensub(/-/," "USER,"g",$8) }' >> newaccess.log fi done let LINHA+=2 done # vim: ts=3 # vim: bg=dark