Duvidas sobre while com Shell Script com Mysql [RESOLVIDO]

1. Duvidas sobre while com Shell Script com Mysql [RESOLVIDO]

Ediley Oliveira
ediley

(usa Fedora)

Enviado em 16/12/2008 - 10:42h

Estou em duvida como fazer para criar um laço while que execute enquando houver registros em uma tabela do mysql.

por exemplo tenho tenho um tabela com varios ips, e no script tenho uma variavel chamada ips.

um rascunho improvisado do que eu quero fazer em shell scrip.

enquando houver registro
ip = registro atual
comando do iptables usando o valor da variavel ip.


Se nao fui claro, falem que eu tento simplificar minha pergunta.
alguem ae poderia me ajudar?


  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/12/2008 - 01:31h

Primeira versão:

#!/bin/bash

While : ; do
# Espera 1 minuto
sleep 1m

VARIAVEL=$(mysql -u usuario -ppassword -D base_de_dados -e 'Querry')
echo $VARIAVEL >> arquivo_texto
done
exit

Ou esta outra versão do script

#!/bin/bash
while : ; do
sleep 1m
mysql -u usuario -ppassword -D base_de_dados -e source script.sql >> arquivo_de_saida
done
exit

O laço é infinito nas duas versões do script.

3. Re: Duvidas sobre while com Shell Script com Mysql [RESOLVIDO]

Geovanny Junio da Silva
geovannyjs

(usa Debian)

Enviado em 16/12/2008 - 11:04h

O jeito mais fácil de fazer isso é usar um loop infinito,
e talvez um sleep x, para verificar a tabela a cada x segundos.
Outra opção seria usar uma trigger do RDBMS para executar um script externo, no caso do MySQL: http://forge.mysql.com/projects/project.php?id=211


4. Re: Duvidas sobre while com Shell Script com Mysql [RESOLVIDO]

nelio
neliobjr

(usa Red Hat)

Enviado em 16/12/2008 - 11:26h

Esta é para eu aprender tb, com a sua dúvida, não manjo bulhufas de mysql, mas tenho certeza que no oracle vc não conseguiria fazer este script do jeito que vc esta dizendo.

Primeiro vou mostrar como seria no Oracle.

Teria que criar dois scripts pois são coisas diferentes, eu não consigo do linux acessar direto dentro de uma base oracle (e para falar a verdade acredito que nenhum SGBD eu consiga), eu tenho que criar um script .sql, que lera todas as minhas variaveis dentro de um banco e jogar para um .txt, exemplo, todos os usuarios que eu tenho dentro deste banco ai a partir dai consigo trabalhar um script linux (shell script) para ler o .txt que gerei no Oracle, e trabalhar em cima dele a minha necessidade.

Minha dúvida, no Mysql funciona de forma diferente?? Consigo gerar um shell script para ler dentro de um banco.??

att






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts