Medir tempo de acesso a internet no log do Squid

Publicado por Ralph Liebessohn (última atualização em 14/01/2010)

[ Hits: 10.174 ]

Homepage: http://ralph.einet.com.br

Download cota_tempo.sh




Script feito para somar o tempo de navegação dos usuários. O tempo medido é apenas o tempo de transferência de cada arquivo e não o tempo que o usuário ficou lendo o site, logo, dependendo da velocidade da conexão, o acesso a um site pode ter tempo variado. O tempo no arquivo de log é medido em milissegundos (1000 milissegundos = 1 segundo).

O script lê um arquivo (/etc/squid/usuarios_limite_tempo) que tem o seu conteúdo formatado com um usuário por linha seguido de espaço, seguido da sua quota de tempo. Exemplo:

usuario1 3600000
usuario2 10
usuario3 600000

Alguns locais que vi as pessoas tendo essa dificuldade:

http://www.mail-archive.com/linux-br@bazar2.conectiva.com.br/msg36767.html
http://www.vivaolinux.com.br/topico/Squid-Iptables/Cota-de-tempo-de-acesso

Existem outras soluções para quota de tamanho de download, limite de número de conexões, banda etc, que são configurados diretamente no squid.conf. Esse script auxilia a limitar a navegação de um usuário a 01 hora por dia por exemplo.

Palavras-chave: tempo de conexão; limitar tempo de navegação; limite de tempo squid;quota tempo squid.

Ralph Liebessohn

  



Esconder código-fonte

#!/bin/bash
while read linha
        do
        usuario=`echo $linha | awk '{print $1}'`
        maxtempo=`echo $linha | awk '{print $2}'`
        tempo=`grep -i " $usuario " /var/log/squid/access.log |awk '{print $2}'`
        aux1=1
        soma=0
        for i in $tempo
        do
                varb=`echo $tempo| awk -v N=$aux1 '{print $N}'`
                soma=`expr $soma + $varb`
                let "aux1 = aux1 + 1"
        done
        if [ $soma -gt $maxtempo ]
        then
                echo Usuario: $usuario excedeu limite de $maxtempo. Tempo utilizado: $soma
        fi
done < /etc/squid/usuarios_limite_tempo

Scripts recomendados

Fakemail anônimo - sem uso de SMTP

Configuração do repositório do Slackware Current

Conexão e Desconexão ADSL automáticas no Slackware

dForm - Formatador de Dispositivos

Script Basico para Tunnel Broker


  

Comentários
[1] Comentário enviado por removido em 09/04/2010 - 16:10h

Este script limita em uma hora ou o tempo é setado no arquivo em milissegundos???
E o nome de usuário pode ser substituído por seu IP?
Vlw =D


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts