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

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

RES: [shell-script] bash com mysql


From: Klayson Sesana Bonatto - DATAPREVES
Subject: RES: [shell-script] bash com mysql
Date: Wed, 16 Jul 2003 14:50:50 -0300

Maverick,

Vc pode "embutir" comandos php em shell scripts, o que resolveria o seu
problema.
Eu escrevi um artigo para a Revista do Linux que explica como fazer isso.
Acho que vai ser (ou foi) publicado na edição desse mês (valeu, Aurélio e
Rafael!). Tem uma parte do artigo que diz assim:

----------------------------
Administradores de sistemas que já possuem vários shell scripts
"convencionais" não precisam reescrever todos os seus programas em PHP só
para poder usar recursos específicos da linguagem, como, por exemplo, acesso
a bancos de dados. Como veremos abaixo, podemos embutir código PHP dentro de
shell scripts comuns. 

#!/bin/bash
echo -n "Informe o nome do usuário: "
read USUARIO
HOME=`grep ^$USUARIO /etc/passwd | cut -f 6 -d:`
TAMANHO_HOME=`du $HOME -s -k | cut -f1`
/usr/bin/php -q << FIM
<?
  \$DATA="`date +%d/%m/%Y`";
  echo "O diretório home do usuário $USUARIO em \$DATA ocupa $TAMANHO_HOME
KB.\n";
?>
FIM

Esse script demonstra vários detalhes interessantes. O primeiro a ser
observado é que esse é um shell script comum, executado pelo Bash
(#!/bin/bash), e dentro dele foi incluído um trecho de código em PHP. O
truque é a utilização de um "here document" (no nosso caso, a string "FIM").
Quem já tem alguma experiência na programação de shell scripts certamente já
conhece a utilidade deste recurso. Ele transfere, a partir de um determinado
ponto do programa, a execução do código para um outro interpretador, até que
o "here document" seja encontrado. Vemos também nesse script como podemos
fazer o uso de variáveis dentro do código PHP embutido. Foram usadas
variáveis definidas fora e dentro do trecho PHP do script. O uso de
variáveis externas ao código PHP é direto, bastando para isso que usemos o
nome da variável. Já o uso de variáveis internas requer que o caractere de
cifrão ($) da variável seja "escapado" com o uso de uma barra invertida (\)
para que possa ser interpretado corretamente. Por fim, repare que o conteúdo
da variável \$DATA é o resultado de um comando do sistema operacional, no
nosso caso, o comando date. Uma das formas de se executar comandos do
sistema operacional dentro do código PHP é incluir o comando entre sinais de
aspas simples.

---------------------------


Talvez existam outras formas mais inteligentes de se fazer isso, mas essa
certamente funciona.

Um abraço.

klayson




> -----Mensagem original-----
> De: Maverick :: 20212359 [mailto:address@hidden]
> Enviada em: quarta-feira, 16 de julho de 2003 08:06
> Para: address@hidden
> Assunto: [shell-script] bash com mysql
> 
> 
> pessoal alguem teria alguma ideia de como enviar dados de um 
> arquivo para um banco de dados MySQL
> eh o seguinte aqui na firma temos um servidor de fax que tem 
> um arquivo de log no seguinte formato:
> 
> 07/15/03 17:35  SEND    00000239        ttyS1   34      ""    
>   address@hidden  "240"   "55 13 32296110"        
> 3153945       1       0:45    0:27    ""
> 07/15/03 16:48  RECV    00000216        ttyS3           ""    
>   fax     "+55.13.3229.6110"      "<UNSPECIFIED>" 2121752 1   
>  0:45     0:45    ""
> 
> gostaria de fazer um script que em minuto em minuto 
> consulta-se esta arquivo verificaria os novos fax chegados e 
> enviaria para um banco mysql para os usuarios podem consultar 
> no sistema se chegou fax ou naum ....
> 
> bem o x da questao, acontece que naum sei como o bash poderia 
> interagir com o mysql, alguem teria alguma ideia da me dar ?
> 
> 
> bracus
> 
> Maverick
> 
> 
> [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.listasdiscussao.cjb.net
---------------------------------------------------------------------
 

Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html 



reply via email to

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