Pergunta

Eu tenho um script Perl existente que usa o objeto FTP para enviar um par de arquivos para uma caixa AIX. Eu só descobri que a nossa caixa de Linux não suporta FTP. Ele faz suporte SFTP. Que passos devo passar para converter o meu script para usar SFTP?

Foi útil?

Solução

O seu script atual é provavelmente usando o Net :: FTP módulo. Você vai precisar de módulo Net :: SFTP e suas dependências do CPAN. Você pode apenas até iniciar um novo script usando o existente como um guia. A lógica é a mesma, no entanto. Ligar, enviar e desconexão.

Outras dicas

Eu realmente feito algo similar. Mas foi para preparar qualquer script FTP atual para ser executado através de SFTP, quando necessário.

Eu fiz um objeto de invólucro em torno Net::SFTP que parece e age como um Net::FTP objeto. Portanto, todas as chamadas poderiam ser deixados em locais com uma implementação diferente.

Eu fui de esta:

my $client = Net::FTP->new( Host => 'ftp.somehost.com', ... );

para

my $client = FTPClient->new( Host => 'ftp.somehost.com', ...
                           , secureFTP => 1 
                           ); 

E apenas implementado todos os métodos que eu estava usando de Net::FTP na minha nova classe . Net::SFTP dá de volta alguns retornos diferentes, então você realmente tem que embrulhar função em vez de usar apenas algo como Class::Delegator .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top