[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
>
_______________________________________________________________________________