Domanda

Ho uno script Perl esistente che utilizza l'oggetto FTP per inviare un paio di file ad una scatola di AIX. Ho appena scoperto che la nostra casella di Linux non supporta FTP. Esso supporta SFTP. Quali passi devo passare attraverso di convertire il mio script per utilizzare SFTP?

È stato utile?

Soluzione

Lo script corrente probabilmente sta usando il modulo Net :: FTP . Avrete bisogno del modulo Net :: SFTP e le sue dipendenze da CPAN. Si può anche solo iniziare un nuovo script utilizzando l'esistente come guida. La logica è la stessa, però. Collegare, inviare e scollegare.

Altri suggerimenti

In realtà ho fatto qualcosa di simile. Ma era quello di preparare qualsiasi script FTP corrente da eseguire via SFTP quando necessario.

Ho fatto un oggetto wrapper Net::SFTP che sembra e si comporta come una Net::FTP oggetto. Pertanto, tutte le chiamate potrebbero essere lasciati in luoghi con una diversa implementazione.

Sono andato da questo:

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

a

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

E appena implementato tutti i metodi stavo usando da Net::FTP nella mia nuova classe . Net::SFTP restituisce alcuni ritorni diversi, in modo da avere per avvolgere in realtà la funzione invece di utilizzare qualcosa di simile a Class::Delegator .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top