Manipulador de horario [RESOLVIDO]

25. ...

Hugo Branquinho de Carvalho
hugobcar

(usa Red Hat)

Enviado em 01/12/2008 - 15:46h

Cara o Nelio está certo, dessa forma vc nunca ira aprender nada. Tenho varios amigos assim, que tem capacidade, mas a PREGUIÇA fala mais alto, é muito mais fácil receber a resposta pronto do que pensar para fazer... De qualquer forma vou te ajudar.

Copia tudo pra baixo e tenta dar o cat em manipulacao_2.txt


Obs.: Nao testei o script.. faz um teste ai.

################
#!/bin/bash

#Filtragem do relorio de acesso

echo Os acessos negados foram:
echo \

echo ' IP Data e Hora URL Negada'
echo \

# Filtra somente os acessos negados, e manda a saida para
# um outro arquivo chamado manipulacao, sendo que as
# posicoes $1 e $3 foram invertidas, de acordo com o
# proposto. A primeira posição deve conter o IP, a segunda # a data e horario,
# transformada de UNIXTIME para data e
# horario normal, e a terceira a URL Negada.

awk '$4 == "TCP_DENIED/403" {print $3, $1, $7}' relatorio_acesso.txt > manipulacao.txt

# esse arquivo relatorio_acesso.txt ja existe e esta no
# mesmo diretorio que esse script ( que é na propria cota
# do usuario root).

sort -r manipulacao.txt > manipulacao_1.txt

# uso do comando sort com parametro -r, para que quando
# impresso,apareca por grupos de mesmos IP's.


### Linhas adicionadas por hugobcar
cat manipulacao_1.txt | while read linha; do

ip=`echo $linha | awk {'print $1'}`
datahora=`echo $linha | awk {'print $2'}`
url=`echo $linha | awk {'print $3'}`
datahoraconvertidas=`date --date='1/1/1970 + 'date --date='1/1/1970 + '$datahora' seconds' +%d"/"%m"/"%Y" - "%H":"%M":"%S`

echo $ip" "$datahoraconvertidas" "$url >> manipulacao_1.txt

done





  


26. ...

Hugo Branquinho de Carvalho
hugobcar

(usa Red Hat)

Enviado em 01/12/2008 - 15:52h

CORRIGINDO SCRIPT.... o que mandei estava gravando no arquivo errado.

Obs.: Nao deu para editar e nem apagar a resposta que mandei, pq ta dando erro no Viva o linux... agora o debaixo está correto.


################
#!/bin/bash

#Filtragem do relorio de acesso

echo Os acessos negados foram:
echo \

echo ' IP Data e Hora URL Negada'
echo \

# Filtra somente os acessos negados, e manda a saida para
# um outro arquivo chamado manipulacao, sendo que as
# posicoes $1 e $3 foram invertidas, de acordo com o
# proposto. A primeira posição deve conter o IP, a segunda # a data e horario,
# transformada de UNIXTIME para data e
# horario normal, e a terceira a URL Negada.

awk '$4 == "TCP_DENIED/403" {print $3, $1, $7}' relatorio_acesso.txt > manipulacao.txt

# esse arquivo relatorio_acesso.txt ja existe e esta no
# mesmo diretorio que esse script ( que é na propria cota
# do usuario root).

sort -r manipulacao.txt > manipulacao_1.txt

# uso do comando sort com parametro -r, para que quando
# impresso,apareca por grupos de mesmos IP's.


### Linhas adicionadas por hugobcar
cat manipulacao_1.txt | while read linha; do

ip=`echo $linha | awk {'print $1'}`
datahora=`echo $linha | awk {'print $2'}`
url=`echo $linha | awk {'print $3'}`
datahoraconvertidas=`date --date='1/1/1970 + 'date --date='1/1/1970 + '$datahora' seconds' +%d"/"%m"/"%Y" - "%H":"%M":"%S`

echo $ip" "$datahoraconvertidas" "$url >> manipulacao_2.txt

done


27. Re: Manipulador de horario [RESOLVIDO]

Ricardo Guedes
rguedesc

(usa Ubuntu)

Enviado em 02/12/2008 - 11:43h

Blz Hugo, testei o primeiro e tava dando erro, imprimindo 2 vezes o mesmo acesso.
O segundo não testei, vou testar agora e respondo a seguir.

Porém com a ajuda do nelio conseguimos finalizar e segue o script rodando bala:

____________________________________________________________


#!/bin/sh

origem_relatorio=/root/ricardo_relatorio/relatorio_acesso.txt
origem=/root/ricardo_relatorio/manipulacao.txt
arq_tmp=/root/ricardo_relatorio/tmp.log
arquivo_final=/root/ricardo_relatorio/arq_final.txt




awk '$4 == "TCP_DENIED/403" {print $3, $1, $7}' $origem_relatorio |sed 's/\./-/4' | sed 's/-[0-9][0-9][0-9]//' > $origem

more $origem | cut -d' ' -f2 |cut -d. -f1 > $arq_tmp

while test -s $arq_tmp
do
var=`head -1 $arq_tmp`
# echo unix time: $var

var_dia=`date --date='1/1/1970 + '$var' seconds' +%d`
var_mes=`date --date='1/1/1970 + '$var' seconds' +%m`
var_ano=`date --date='1/1/1970 + '$var' seconds' +%Y`
var_hora=`date --date='1/1/1970 + '$var' seconds' +%H:%M:%S`


# echo horario: $var2
sed -i 's/'$var'/'$var_dia'\/'$var_mes'\/'$var_ano' '$var_hora'/' $origem

sed -i '1d' $arq_tmp
done

echo ' IP DATA e HORA URL NEGADA' > $arquivo_final

sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4 $origem >> $arquivo_final

rm -rf $origem
rm -rf $arq_tmp

cat $arquivo_final | less

____________________________________________________________

Valew pela ajuda de todos , fico mto grato!

Abs




28. Re: Manipulador de horario [RESOLVIDO]

Ricardo Guedes
rguedesc

(usa Ubuntu)

Enviado em 02/12/2008 - 11:52h

Hugo, testei aqui cara, ele gera uma lista mais veses os mesmo acessos negados. Ta repetindo no arquivo final as linhas de acesso DENIED. Dessa vez deu 255 linhas, sendo que o certo seriam 85.

Vou qbrar a cabeça aki e entender bem seu código.

De qualquer forma, mto obrigado pela força!



29. ...

Hugo Branquinho de Carvalho
hugobcar

(usa Red Hat)

Enviado em 02/12/2008 - 14:27h

Blz, já que está resolvido entao melhor.

Mas nao mexi no codigos acima e vi que nesse novo script eles estão alterados. A parte que mexi foi somente na conversão da data/hora. Mas blz.. fica pra proxima.


abraços.


30. Re: Manipulador de horario [RESOLVIDO]

Ricardo Guedes
rguedesc

(usa Ubuntu)

Enviado em 02/12/2008 - 14:42h

Ok, de qualquer forma mto obrigado pela ajuda.
abs



01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts