shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] extrair dados de um log


From: Carlos A. Talhati
Subject: Re: [shell-script] extrair dados de um log
Date: Tue, 10 Jun 2008 11:20:11 -0300
User-agent: Thunderbird 2.0.0.14 (Windows/20080421)

Ola Eduardo,

O que realmente quero é uma linha contendo a data, hora, IP e o nome do usuario.
os dados estão contidos em várias linhas do arquivo de log.
é o log de um servidor de ldap. Este é um trecho de um log de uma conexão:

Jun 10 11:03:48 ldap slapd[24695]: conn=1577 fd=19 ACCEPT from 
IP=10.0.0.10:51419 (IP=0.0.0.0:389)
Jun 10 11:03:48 ldap slapd[24695]: conn=1577 op=0 BIND 
dn="cn=root,dc=iqsc,dc=usp,dc=br" method=128
Jun 10 11:03:48 ldap slapd[24695]: conn=1577 op=0 BIND 
dn="cn=root,dc=iqsc,dc=usp,dc=br" mech=SIMPLE ssf=0
Jun 10 11:03:48 ldap slapd[24695]: conn=1577 op=0 RESULT tag=97 err=0 text=
Jun 10 11:03:48 ldap slapd[24695]: conn=1577 op=1 SRCH 
base="ou=usuarios,dc=iqsc,dc=usp,dc=br" scope=2 deref=0 filter="(uid=rick)"
Jun 10 11:03:48 ldap slapd[24695]: conn=1577 op=1 SRCH attr=1.1
Jun 10 11:03:48 ldap slapd[24695]: conn=1577 op=1 SEARCH RESULT tag=101 err=0 
nentries=1 text=
Jun 10 11:03:48 ldap slapd[24695]: conn=1577 op=2 BIND anonymous mech=implicit 
ssf=0
Jun 10 11:03:48 ldap slapd[24695]: conn=1577 op=2 BIND dn="cn=1480 - RICARDO 
PUXXX,ou=usuarios,dc=iqsc,dc=usp,dc=br" method=128
Jun 10 11:03:48 ldap slapd[24695]: conn=1577 op=2 BIND dn="cn=1480 - RICARDO 
PUXXX,ou=usuarios,dc=iqsc,dc=usp,dc=br" mech=SIMPLE ssf=0
Jun 10 11:03:48 ldap slapd[24695]: conn=1577 op=2 RESULT tag=97 err=0 text=
Jun 10 11:03:48 ldap slapd[24695]: conn=1577 op=3 UNBIND
Jun 10 11:03:48 ldap slapd[24695]: conn=1577 fd=19 closed

Este é um trecho de um log de uma outra conexão:

Jun 10 10:17:03 ldap slapd[24695]: conn=1560 fd=19 ACCEPT from 
IP=10.0.0.80:50223 (IP=0.0.0.0:389)
Jun 10 10:17:03 ldap slapd[24695]: conn=1560 op=0 BIND dn="cn=884 - DIEGO 
MOXXX,ou=usuarios,dc=iqsc,dc=usp,dc=br" method=128
Jun 10 10:17:03 ldap slapd[24695]: conn=1560 op=0 BIND dn="cn=884 - DIEGO 
MOXXX,ou=usuarios,dc=iqsc,dc=usp,dc=br" mech=SIMPLE ssf=0
Jun 10 10:17:03 ldap slapd[24695]: conn=1560 op=0 RESULT tag=97 err=0 text=
Jun 10 10:17:03 ldap slapd[24695]: conn=1560 op=1 UNBIND
Jun 10 10:17:03 ldap slapd[24695]: conn=1560 fd=19 closed


Obrigado pela antenção

Carlos






Eduardo Otubo escreveu:
Olá Carlos,

Quais dados você precisa? Seja mais específico.

[]'s

2008/6/3 Carlos A. Talhati <address@hidden>:
Ola
preciso de uma ajuda para extrair dados de um log. a partir deste
comando egrep -A1 'ACCEPT' /var/log/debug.log consigo o resultado abaixo:

Jun 3 15:27:17 ldap slapd[24695]: conn=194 fd=19 ACCEPT from
IP=10.0.0.80:64514 (IP=0.0.0.0:389)
Jun 3 15:27:17 ldap slapd[24695]: conn=194 op=0 BIND dn="cn=148 - ANA
PAULA GXXXX FXXXXX,ou=usuarios,dc=iqsc,dc=usp,dc=br" method=128
--
Jun 3 15:28:30 ldap slapd[24695]: conn=195 fd=19 ACCEPT from
IP=10.0.0.10:49647 (IP=0.0.0.0:389)
Jun 3 15:28:30 ldap slapd[24695]: conn=195 op=0 BIND
dn="cn=root,dc=iqsc,dc=usp,dc=br" method=128
--
Jun 3 15:30:34 ldap slapd[24695]: conn=196 fd=19 ACCEPT from
IP=10.0.0.10:50685 (IP=0.0.0.0:389)
Jun 3 15:30:34 ldap slapd[24695]: conn=196 op=0 BIND
dn="cn=root,dc=iqsc,dc=usp,dc=br" method=128
--
Jun 3 15:31:34 ldap slapd[24695]: conn=197 fd=19 ACCEPT from
IP=10.0.0.10:51467 (IP=0.0.0.0:389)
Jun 3 15:31:34 ldap slapd[24695]: conn=197 op=0 BIND
dn="cn=root,dc=iqsc,dc=usp,dc=br" method=128
--
Jun 3 15:32:33 ldap slapd[24695]: conn=198 fd=19 ACCEPT from
IP=10.0.0.80:59747 (IP=0.0.0.0:389)
Jun 3 15:32:33 ldap slapd[24695]: conn=198 op=0 BIND dn="cn=384 -
HIDETAKE IMXXXO,ou=usuarios,dc=iqsc,dc=usp,dc=br" method=128
--
Jun 3 15:34:16 ldap slapd[24695]: conn=199 fd=19 ACCEPT from
IP=10.0.0.10:53048 (IP=0.0.0.0:389)
Jun 3 15:34:16 ldap slapd[24695]: conn=199 op=0 BIND
dn="cn=root,dc=iqsc,dc=usp,dc=br" method=128

mas o que realmente quero é uma linha contendo a data, hora, IP e o nome
do usuario. Notem que tem linhas sem o nome do usuario, essas linha
deveriam ser eliminadas. quase consegui fazendo assim : egrep -A1
'ACCEPT' /var/log/debug.log | egrep -v '(dn=\"cn=root|ACCEPT)' | awk
'{print $2" "$1"-"$3"-" $11}'
mas como o nome do usuario tem espaço em branco não estou conseguindo
pegar o nome inteiro, mesmo com substr. sai assim
3 Jun-15:27:17-ANA
----
----
----
----
3 Jun-15:32:33-HIDETAKE

sou novato em shell script e estou apanhando muito

agradeço pela ajuda,

Carlos







reply via email to

[Prev in Thread] Current Thread [Next in Thread]