Pregunta

Tengo un script Perl existente que utiliza el objeto de FTP para enviar un par de archivos a un cuadro de AIX. Acabo de descubrir que nuestro Linux no es compatible con FTP. Que es compatible con SFTP. ¿Qué pasos debo pasar por convertir mi script para usar SFTP?

¿Fue útil?

Solución

Su script actual probablemente está usando el :: módulo FTP. Necesitará el :: módulo SFTP y sus dependencias desde CPAN. Es posible que sólo incluso iniciar una nueva secuencia de comandos con la existente como guía. La lógica es la misma, sin embargo. Conectar, enviar y desconectar.

Otros consejos

De hecho, he hecho algo similar. Pero fue a preparar cualquier script de FTP actual para ser ejecutado a través de SFTP cuando sea necesario.

Hice un objeto contenedor alrededor Net::SFTP la que se ve y actúa como un objeto Net::FTP . Por lo tanto, todas las llamadas podrían quedar en lugares con una implementación diferente.

Me fui de esto:

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

a

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

Y justo en práctica todos los métodos que utilizaba desde Net::FTP en mi nueva clase . Net::SFTP devuelve algunos retornos diferentes, así que hay que envolver la función realidad en lugar de usar algo así como Class::Delegator .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top