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: Victor LGomes
Subject: Re: [shell-script] Arquivo de log
Date: Thu, 2 Oct 2008 08:28:09 -0300

Cara, bacana demais! Show de bola! Funcionou 100%!!!

Muito obrigado Jimmy!

Abs.
Victor

2008/10/1 jimmy <address@hidden>

>   corrigindo o script:
>
> #!/usr/bin/sed -nf
>
>
> /^INSERT/{
> s/INSERT INTO.*tabela/INSERT INTO tabela/;
> w insert.sql
> }
> /\(^UPDATE\|^DELETE\|^CREATE\)/{
> w not_insert.sql
> }
>
> On Wed, Oct 01, 2008 at 10:05:31AM -0300, jimmy wrote:
> > acho que fica mais fácil agora criar um script para isso
> >
> > /^INSERT/{
> > s/INSERT INTO.*tabela/INSERT INTO tabela/;
> > w insert.sql
> > }
> > /\(^UPDATE\|^DELETE\|^CREATE\)/{
> > w not_insert.sql
> > }
> >
> > entre as chaves você pode inserir mais comandos se
> > necessário.
> >
> > dê permissão de execução de execute com:
> >
> > ./script.sed arquivo-de.log
> >
> > avise se funcionar.
> >
> >
> > On Wed, Oct 01, 2008 at 08:36:15AM -0300, Victor LGomes wrote:
> > > Muito legal isso!!! Preciso estudar muito mais!!!
> > >
> > > Aproveitando um pouco da sua boa vontade, eu consigo fazer uma
> substituição
> > > nas linhas de INSERT antes de enviá-las para o arquivo "insert.sql" ?
> Por
> > > exemplo, dá pra colocar a substituição abaixo no comando para enviar
> para o
> > > arquivo os dados já modificados ?
> > >
> > > 's/INSERT INTO .*\.tabela/INSERT INTO tabela/g'
> > >
> > > Tentei aqui mas não funcionou! :-(
> > >
> > > Obrigado!
> > > Victor
> > >
> > > 2008/9/30 jimmy <address@hidden <ronaldo_tgz%40yahoo.com.br>
> >
> > >
> > > > $ 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<ronaldo_tgz%40yahoo.com.br><ronaldo_tgz%
> 40yahoo.com.br>>
> > > > >
> > > > > > 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<shell-script-unsubscribe%40yahoogrupos.com.br>
> <shell-script-unsubscribe%40yahoogrupos.com.br>
> > > > > ----------------------------------------------------------
> > > > > 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
> > > > >
> > > > __________________________________________________________
> > > >
> > > >
> > >
> > >
> > > [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<shell-script-unsubscribe%40yahoogrupos.com.br>
> > > ----------------------------------------------------------
> > > 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
> > >
> > __________________________________________________________
> >
> > ------------------------------------
> >
> > ----------------------------------------------------------
> > 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<shell-script-unsubscribe%40yahoogrupos.com.br>
> > ----------------------------------------------------------
> > 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
> >
> __________________________________________________________
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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