0

実際には、Net :: FTP :: Recursiveを使用してディレクトリ構造をダウンロードしていますが、必要なものに対してはうまく機能します。ただし、一部のフォルダには100を超えるファイルがあるため、ダウンロードには時間がかかる場合があります。zipファイルの方がダウンロードが速いので、perlを使用してftp経由でリモートサーバーに接続し、リモートサーバー/フォルダーからzipファイルを作成してダウンロードするにはどうすればよいですか?

use Net::Config;
use Net::FTP::Recursive;


$ftp = Net::FTP::Recursive->new("$hostname:$ftp_port",  Debug => 0)
or die "Cannot connect to $hostname: $@";
$ftp->login($iLogin,$iPass)
or die "failed ", $ftp->message;
$ftp->binary()
or die "Cannot set to Binary";
$ftp->cwd("/admin/packages/$fileName")
or die "Cannot change working directory ", $ftp->message;
$ftp->rget( $fileName );
#or die "Download Failed ", $ftp->message;
$ftp->quit;

いつもありがとうございました

4

2 に答える 2

1

ZIPコマンドを実行するには、システムへのSSHアクセスが必要だと思います。ただし、その場合は、SCPを使用してファイルをより安全に転送することもできます。FTPはすべてをオープンに行います。

ありがとう、

F。

于 2012-05-18T16:01:46.543 に答える
1

サイト(ARGS)メソッドはそのために設計されています。シェルコマンドを送信して、リモートサーバーで実行することができます。 http://perldoc.perl.org/Net/FTP.html#METHODS

しかし、私が知っているFTPサーバーのほとんどはその許可を無効にしているので、幸運を祈ります

于 2012-05-18T16:28:04.173 に答える