Medir tempo de acesso a internet no log do Squid
Publicado por Ralph Liebessohn (última atualização em 14/01/2010)
[ Hits: 10.293 ]
Homepage: http://ralph.einet.com.br
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
#!/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
Multiconversor (Octal para binário, decimal para hexadecimal, etc)
Script para verificar o espaço atual do HD
Filtro para importação de extrato do Banco do Brasil para Kmymoney
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)