Cria uma variável com um nome de arquivo temporário (TMPARQ="/tmp/ tmpfile$$.txt") e redirecione a saída da tua function. Em seguida teste o status de $?. Sendo igual a 0 vc sobrescreve o arquivo com o conteúdo de TMPARQ. No final do script vc remove o arquivo. Deve funcionar.
Atenciosamente, Luis Fernando Kieça Analista de Tecnologia & Suporte. Enviado de meu iPhone Em 28/01/2010, às 10:43, miranda <mira...@prodemge.gov.br> escreveu: > Ao fazer uma query bem basica no seu banco , testando o resultado > e , caso esteja no ar , mandar o resultado da query que te interessa > pro arquivo, a chance de obter o esperado , acredito eu , deve ser bem > grande > > On Thu, 2010-01-28 at 09:51 -0200, Marcelo Salhab Brogliato wrote: > > > > Amigos, > > tenho um script bem simples que faz algumas queries no banco de > dados > > e > > atualiza uns arquivos. > > Problema: O banco de dados cai e o script sobrescreve os arquivos em > > branco! > > > > O banco de dados cair pode ser por vários motivos, entre eles dar > > timeout > > devido a problemas no reverso do DNS. > > (Que foi meu problema de hoje...) > > > > Mas eu pensei e não encontrei uma boa solução para evitar que is > so > > aconteça. > > Uma idéia inicial foi: guardar a saida do mysql em uma variável, > > verificar o > > $? e somente então alterar os arquivos. > > Mas não me pareceu uma idéia muito simples. > > > > Sugestões? > > > > abraços, > > Marcelo > > > > ========== > > = script = > > ========== > > _livres=/etc/squid/acls/ips_acesso_livre > > _restritos=/etc/squid/acls/ips_acesso_restrito > > _bloqueados=/etc/squid/acls/ips_acesso_bloqueado > > > > function sql > > { > > mysql -B -N -h$_pan_mysql -u$_pan_user -p$_pan_pwd $_pan_db -e"$1" > > } > > > > sql "SELECT ip FROM TbNetHosts2 WHERE type=0" > $_bloqueados > > sql "SELECT ip FROM TbNetHosts2 WHERE type=1" > $_restritos > > sql "SELECT ip FROM TbNetHosts2 WHERE type=2" > $_livres > > > > chown squid:squid $_bloqueados $_restritos $_livres > > > > /etc/init.d/squid reload > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas]