JoaoVitorino
(usa openSUSE)
Enviado em 09/12/2013 - 17:59h
dvinciguerra escreveu:
Vendo somente essa instrução me parece um shell script!
Como isso não é um problema especifico de Perl e sim de comunicação da sua aplicação com a maquina você tem algumas opções que são: modificar sua aplicação para que ela grave esta informação de saída em um host remoto dependendo de um parâmetro, por exemplo, o path do diretório, ou adicionar um comando, rsync por exemplo, que vá fazer o upload do arquivo caso o path seja remoto.
Optar pelo primeiro caso será mais complexo e como você disse que não tem grande experiência com desenvolvimento talvez seja desnecessário. Mas deixo aqui abaixo alguns modulos que podem lhe ajudar:
File::Rsync
https://metacpan.org/pod/File::Rsync
Zucchini::Rsync
https://metacpan.org/pod/release/CHISEL/Zucchini-0.0.17/lib/Zucchini/Rsync.pm
Net::SFTP
https://metacpan.org/pod/Net::SFTP
Optar pelo segundo pode bastar adicionar um rsync ou algo do gênero como:
echo '<OUTPUTSTRING>' > /mnt/nagios/nagios.cmd
rsync /mnt/nagios/nagios.cmd user@localhost:/mnt/nagios/nagios.cmd
Veja se isso lhe ajuda a clarear as ideias e caso precise de mais ajuda com código volte aqui com mais informações especificas sobre o problema.
Grande abraço e espero ter ajudado!
Obrigado pela ajuda mas já tentei dessa forma.
Mas não funciona por se tratar de um arquivo named pipe, a saida OUTPUTSTRING tem que ser gravada em um arquivo FIFO, e devido a trava que esse tipo de arquivo utilizada, ele só funciona em modo local.
Descobri que para funcionar pela rede, é necessário modificar todo o script para funcionar com sockets, mas isso está além dos meus conhecimentos. Portanto, deixei o projeto pra lá.
Mas obrigado pela ajuda de qualquer forma.