All pastes #179891 Raw Edit

waKKu

public shellscript v1 · immutable
#179891 ·published 2006-09-22 17:08 UTC
rendered paste body
#!/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"# Arquivo vazio ou inexistente pra receber o novo log - se# tiver texto sera zerado!ARQSAIDA="newaccess.log"TMPFILE=$(tempfile)awk '{print $2}' $SMB | sort -u > $TMPFILENUMLINHAS="$(wc -l $SMB | awk '{print $1}')"LINHA=1rm -f $ARQSAIDAwhile [ $LINHA -le $NUMLINHAS ]; do  for IP in $(cat $TMPFILE); 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) }' >> $ARQSAIDA         fi  done  let LINHA+=2donerm -f $TMPFILE# vim: ts=3# vim: bg=dark