[Cascavel-pm] O problema do Juliano: Control-M, controle de processos em maquinas windows remotas e Perl, claro! [Was: recuperar retorno da execução de um comando]

Luis Motta Campos monsieur_champs em yahoo.com.br
Quarta Setembro 6 08:27:26 PDT 2006


Juliano Dantas wrote:
> Luis (monsieur_champs),
>
> Explicando melhor:
>
> - Aqui na BrasilTelecom, utilizamos o control-M e o ActivePerl no
> caso de servidores Windows. Bem, Existe algumas ferramentas de
> fabricantes tipo IBM, HP e outros que utiliza essas ferramentas para
> espelhamento de servidores, transact server no caso do SQL Server e
> outras ferramentas. Com isso, a empresa querendo padronizar e
> controlar melhor a execução dessas ferramentas, solicitou a equipe a
> qual faço parte que todas fossem inseridas no Control-M e eu sugerir
> que, para executar e controlar essas execuções podiamos utilizar o
> Perl, até mesmo porque um emulador para shell script para windows é
> uma porcaria e já trabalho com a Perl a muito tempo e sei do poder
> que ela tem. Pois bem, ao tentar executar os comandos utilizando o
> "system e fork", não consegui obter as respostas da execução desses
> comandos(ferramentas), eles retornam apenas "return codes" eu até
> pensei em tentar gerar um log da execução e lê esse log, contudo,
> preferir pedir ajuda a vocês. Com relação aos conselhos do Igor ...
> Igor, o que eu entendi com os seus conselhos, foi que existem várias
> maneiras de conseguir o resultado que desejo.

  Bom, agora eu vou conseguir até dar uma sugestão inteligente para
você! :-)

  Seu problema, sintetizado:

  1. Muitas máquinas, windows e unix.
  2. Unix controla processos (programas?) com Control-M.
  3. É preciso controlar sistemas que devem rodar sob windows.
  4. Alternativa escolhida: Perl

  Minha sugestão é *não* usar system, nem fork. Também *desaconselho* o
uso de backticks ou qualquer outra forma de execução com captura de
conteúdo.

  Eu, no seu lugar, Juliano, usaria as funcionalidades do open2 ou
open3, que são as ferramentas de execução de programas externos do Perl
de maneira controlada mais simples de usar e mais eficientes.

  E não se esqueça de que é necessário manter registros de atividades,
já que as ferramentas que você está manipulando com perl certamente
foram desenhadas para ser manipuladas por humanos (o que pode
eventualmente te dar problemas para tratar erros e resolver coisas
fora-do-padrão.

  Pronto, nada como uma resposta precisa para uma pergunta bem-feita.
  Espero que você se divirta escrevendo isto. ;-)
  Putamplexos!
-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Luis Motta Campos is Software Engineer, Oracle OCP/DBA, Un*x
 Sysadmin, Member of {Lisbon,São Paulo,Cascavel,Brasil,London}
 Perl Mongers and Perl Fanatic Evangelist
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=



Mais detalhes sobre a lista de discussão Cascavel-pm