Conversor de logs do squid
Publicado por Elgio Schlemer 11/09/2007
[ Hits: 11.917 ]
Homepage: https://profelgio.duckdns.org/~elgio
Muitos postaram perguntas no fórum sobre o tempo obscuro registrado nos logs do squid.
Além de explicar o que significa estes números, este script em bash traduz este tempo para algo mais legível.
#!/bin/bash # ELGIO SCHLEMER # Conversor de logs no formato ORIGINAL do squid para um tempo mais legivel # 06/Setembro/2007 # Cores! O mundo eh colorido cN="{FONTE}33[m" # normal cVm="{FONTE}33[1;31m" # vermelho cVd="{FONTE}33[2;32m" # verde cAz="{FONTE}33[3;34m" # azul cAm="{FONTE}33[1;33m" # amarelo cERRO="${cVm}" cTEMPO="${cVd}" # Como voce quer ver o tempo? # Descomente a atribuicao da variavel FORM que voce quer # a) como o date mostra, normal, sem formatacao alguma # Exemplo: Qui Set 6 19:04:05 BRT 2007 FORM="" # b) No formato DD/MM/AAAA HH:MM:SS (ex 06/09/2007 19:04:05) #FORM="+%d/%m/%Y %H:%M:%S" # c) No formato DD/Mes/AAA HH:MM:SS (ex 06/Setembro/2007 19:04:05) #FORM="+%d/%B/%Y %H:%M:%S" # d) No formato Dia, DD de Mes de AAAA as HH:MM:SS # (ex: Quinta, 06 de Setembro de 2007 as 19:04:05 FORM="+%a, %d de %B de %Y as %H:%M:%S" # Onde esta o arquivo de log a ser convertido? ARQLOG="/var/log/squid/access.log" # Onde irao as mensagems de erros? ERRO="/dev/stderr" # ao enviar ERROS para /dev/stderr estou enviando para a saida padrao de erro # Muito util se a saida de dados for a tela e se usara este programa como # um filtro. exemplo: ./conversorLogSquid.sh | sort # as mensagens de erro NAO SERIAM passadas ao sort!! # Mas se o usuario passou parametro... if [ "X$1" != "X" ] then ARQLOG=$1 fi if [ ! -r $ARQLOG ] || [ ! -f $ARQLOG ] then echo -ne "${cERRO}ERRO! Nao consigo abrir $ARQLOG para leitura${cN}\n" >> $ERRO exit 0; fi # Onde vai ser a saida? # a) Saida na tela: sdtout SAIDA="/dev/stdout" # b) Saida em um arquivo de mesmo nome, com a extensao CONV SAIDA="${ARQLOG}.CONV" if [ -f $SAIDA ] then echo -ne "${cERRO}ERRO: $SAIDA ja existe e eu nao vou apaga-lo!${cN}\n" >> $ERRO echo -ne "ABORTADO\n" >> $ERRO exit 0 fi touch $SAIDA 2>/dev/null if [ ! -w $SAIDA ] then echo -ne "${cERRO}ERRO: $SAIDA nao pode ser escrito.$cN Vai ser na tela mesmo\n" >> $ERRO echo "PRESSIONE ENTER para continuar" >> $ERRO read resp clear fi # Se a saida eh na tela, mundo colorido!! CorI="" CorF="" if [ $SAIDA == "/dev/stdout" ] then CorI="$cTEMPO" CorF="$cN" fi cat $ARQLOG | while read linha do tempo="`echo $linha|cut -d\. -f1`" if `echo "$tempo" | grep -qs "^[0-9]\+$"` then legivel="${CorI}`date -d @$tempo "$FORM"`${CorF}" # legivel="`date -d @$tempo "$FORM"`" novalinha="$legivel `echo $linha|cut -d' ' -f2-`" echo -ne "${novalinha}\n" >> $SAIDA else # Nao foi encontrado linha de tempo. Imprimindo como a linha era echo $linha >> $SAIDA fi done
Instalador do pacote ubuntu-restricted-extras
Organizador da saída do objdump
Usando mencoder para capturar vídeos da placa BT878
Alta disponibilidade IP-Virtual
Pra quem contribui com artigos e dicas (1)
Arch Linux - Guia para Iniciantes (5)
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
O Que Fazer Após Instalar Ubuntu 25.04
O Que Fazer Após Instalar Fedora 42
Debian 12 -- Errata - Correções de segurança
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Copiar Layout do Teclado para aplicar em outra Distribuição (2)
Monitor fora de escala ao bootar sistema (10)
Pra quem contribui com artigos e dicas (1)
Alguém poderia me ajudar a escolher peças pra montar um desktop? (19)