Question

J'ai un script Perl existant qui utilise l'objet FTP pour envoyer quelques fichiers à une boîte AIX. Je viens de découvrir que notre boîte Linux ne prend pas en charge FTP. Il prend en charge SFTP. Quelles mesures dois-je passer pour convertir mon script pour utiliser SFTP?

Était-ce utile?

La solution

Votre script actuel utilise probablement le Net :: FTP Module . Vous aurez besoin du Net :: SFTP Module et ses dépendances de CPAN. Vous pouvez juste même commencer un nouveau script en utilisant l'existant comme guide. La logique est la même, cependant. Connectez-vous, envoyer et déconnecter.

Autres conseils

Je l'ai vraiment fait quelque chose de similaire. Mais il était de préparer un script FTP en cours à exécuter via SFTP en cas de besoin.

J'ai fait un objet wrapper autour Net::SFTP qui ressemble et agit comme un l'objet de Net::FTP. Par conséquent, tous les appels peuvent être laissés dans des endroits avec une implémentation différente.

Je suis passé de ceci:

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

à

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

Et mis en œuvre toutes les méthodes que j'utilisais de Net::FTP dans ma nouvelle classe . Net::SFTP redonne des différents retours, donc vous devez envelopper effectivement fonction au lieu d'utiliser quelque chose comme Class::Delegator .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top