Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Procurar por acessos nos logs
- # Criado por Rodolpho Costa Stach
- # Data: 11/10/2011
- #Arquivo de log principal
- arquivo=/var/squid/log/acess.log
- #arquivos de logs criados após rotate do squid
- #nessa variável ele armazena o resultado padrão do comando ls e joga qualquer erro no buraco negro ^^ /dev/null
- lista=$(ls /var/squid/log/acess.log.* 2> /dev/null )
- #esse separador eu fiz pq precisei fazer um arquivo separado por ponto e vírgula pra depois ser importado para o excel
- #Assim basta trocar o \\t que é um TAB para qualquer outra coisa
- separador="\\t"
- #aqui é a faixa de IP's que eu não quero ver, no meu caso é pq são de acesso livre então nao preciso ver
- #esse [0-5] é uma lista indica que no último octeto posso ter 40 41 42 43 44 45
- excluidos="192.168.1.4[0-5]"
- #Testa se não foi informado algum parâmetro para busca
- if [ -z "$1" ]; then
- #exibe mensagem de erro
- echo -e "\e[41;37;1m Erro:"
- echo -e "\e[40;37;1mNenhum padrão informado para a pesquisa"
- echo -e "\e[40;37mUse $0 padrao"
- echo "Ex:"
- echo "$0 hotmail.com"
- echo " "
- #exibe mensagem de erro e sai
- exit
- else
- #se o parâmetro de busca foi informado então
- #faz primeiro a busca no arquivo principal
- #o awk admito que peguei na net de um site gringo... mas depois de estudar um pouco ele consegui ver que ele separa as colunas com variaveis por numeros
- #exemplo o $3 que aparece como IP ai em baixo refere a terceira coluna da linha
- grep $1 $arquivo|egrep -v $excluidos|awk '{print "IP="$3"'$separador' CODIGO="$4"'$separador' SITE="$7}'
- #Depois faz a busca nos arquivos secundários aqueles criados após o rotate do squid
- for i in $lista
- do
- echo -e -n "\e[40;31mArquivo: "
- echo -e "\e[40;37m$i"
- grep $1 $i|egrep -v $excluidos|awk '{print "IP="$3"'$separador' CODIGO="$4"'$separador' SITE="$7}'
- done
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement