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

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

Re: [shell-script] Arquivo de log


From: jimmy
Subject: Re: [shell-script] Arquivo de log
Date: Tue, 30 Sep 2008 12:23:51 -0300
User-agent: Mutt/1.4.2.3i

$ awk '{ if ($0 ~ /INSERT INTO banco.tabela/){ print > "insert.sql"}
         else { if ($0 ~ /(^UPDATE|^DELETE|^CREATE)/){ print > 
"not_insert.sql"}}}' arquivo-de.log

ou

$ sed -ne '/INSERT INTO banco.tabela/W insert.sql' -ne 
'/\(^UPDATE\|^DELETE\|^CREATE\)/W not_insert.sql' arquivo-de.log


On Tue, Sep 30, 2008 at 11:59:11AM -0300, Victor LGomes wrote:
> Por exemplo,
> 
> hoje eu faço assim:
> 
> mysqlbinlog arquivo-de.log | grep -E "INSERT INTO banco.tabela .*" >
> log-insert.txt
> 
> mysqlbinlog arquivo-de.log | grep -E "^UPDATE .*|^DELETE .*|^CREATE .*" >
> log-outros.txt
> 
> Como vocês podem ver, dessa forma, sou obrigado a abrir duas vezes o arquivo
> de log para filtrar o que preciso. Levando em conta que esses arquivos
> chegam facilmente a 200M, dá pra imaginar o tempo que leva pra rodar essa
> encrenca.
> 
> Estava pensando em alguma forma de criar esses 2 arquivos em uma única
> chamada ao log. Algo do tipo:
> 
> mysqlbinlog arquivo-de.log | grep SE INSERT > log-insert.txt SENAO >
> log-outros.txt
> 
> É por aí...
> 
> Abs.
> Victor
> 
> 2008/9/30 jimmy <address@hidden>
> 
> >   teria um exemplo?
> >
> >
> > On Tue, Sep 30, 2008 at 10:02:59AM -0300, Victor LGomes wrote:
> > > Bom dia galera!
> > >
> > > Estou com um problema aqui que não sei como resolver (e nem se há uma
> > forma
> > > de resovê-lo como estou querendo).
> > >
> > > Tenho que filtrar um arquivo de log do banco de dados MySQL e criar um
> > > arquivo contendo os comandos de INSERT em uma determinada tabela e um
> > > segundo arquivo contendo os demais comandos. Atualmente preciso varrer o
> > log
> > > uma primeira vez para pegar os INSERTs e uma segunda vez para pegar os
> > > demais comandos. Como são arquivos muito grandes, isso leva um tempo
> > > considerável e imaginei que se houvesse uma forma de, em uma única
> > passada,
> > > pegar os INSERTs e jogar para um arquivo e os demais para outro, ganharia
> > > bastante em performance.
> > >
> > > Alguém saberia como fazer isso ? Pesquisei um pouco mas não encontrei
> > nada a
> > > respeito.
> > >
> > > Obrigado!
> > > Victor
> > >
> > > ------------------------------------
> >  
> >
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 
> ------------------------------------
> 
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
> 
> Links do Yahoo! Grupos
> 
_______________________________________________________________________________


reply via email to

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