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

我认为您需要通过 SSH 访问系统才能运行 ZIP 命令。但如果是这种情况,您也可以使用 SCP 更安全地传输文件。FTP 做所有事情都是公开的。

谢谢,

F。

于 2012-05-18T16:01:46.543 回答
1

site(ARGS)方法就是为此而设计的。您可以发送 shell 命令并使其在远程服务器上运行。 http://perldoc.perl.org/Net/FTP.html#METHODS

但是,我知道的大多数 FTP 服务器都禁用了该权限,所以,祝你好运

于 2012-05-18T16:28:04.173 回答