Как можно было бы конвертировать с FTP на SFTP в Perl-скрипте?

StackOverflow https://stackoverflow.com/questions/521685

  •  22-08-2019
  •  | 
  •  

Вопрос

У меня есть существующий Perl-скрипт, который использует объект FTP для отправки пары файлов в окно AIX.Я только что обнаружил, что наш Linux-бокс не поддерживает FTP.Он действительно поддерживает SFTP.Какие шаги я должен выполнить, чтобы преобразовать мой скрипт для использования SFTP?

Это было полезно?

Решение

Ваш текущий скрипт, вероятно, использует Сеть::FTP модуль.Вам понадобится Сеть::SFTP модуль и его зависимости от CPAN.Вы можете даже просто запустить новый скрипт, используя существующий в качестве руководства.Однако логика здесь та же самая.Подключайтесь, отправляйте и отключайтесь.

Другие советы

Я действительно делал нечто подобное.Но это было сделано для подготовки любого текущего FTP-скрипта к запуску через SFTP, когда это необходимо.

Я создал объект-оболочку вокруг Net::SFTP который выглядит и действует как Net::FTP объект.Следовательно, все вызовы можно было бы оставить в местах с другой реализацией.

Я пошел от этого:

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

Для

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

И просто реализовал все методы, которые я использовал из Net::FTP в моем новом классе. Net::SFTP возвращает несколько разных возвратов, поэтому вам нужно фактически обернуть функцию вместо того, чтобы просто использовать что-то вроде Class::Delegator.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top