Medir tempo de acesso a internet no log do Squid
Publicado por Ralph Liebessohn (última atualização em 14/01/2010)
[ Hits: 10.271 ]
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
Carregar módulo kqemu na inicialização do sistema
PDSHELL - Leia seus PDFs organizados em uma só pasta!
Mata usuários do FreeNX Server
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
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Estou com sede em aprender sobre o nosso querido Linux. (1)
big linux sem audio como resolver (2)
Como faz para dar um update-grub por shell script [RESOLVIDO] (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta