实际上我使用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;
谢谢大家的时间
答案 0 :(得分:1)
我认为您需要对系统进行SSH访问才能运行ZIP命令。但如果是这种情况,您也可以使用SCP更安全地传输文件。 FTP可以完全打开所有内容。
谢谢,
F。
答案 1 :(得分:1)
网站(ARGS)方法专为此而设计。您可以发送shell命令并使其在远程服务器上运行。 http://perldoc.perl.org/Net/FTP.html#METHODS
但是,我知道的大多数FTP服务器都禁用了该权限,所以,祝你好运