¿Cómo se podría convertir de FTP a SFTP en un script Perl?
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?
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
.