【问题标题】:How to create a Zip file on a remote server in perl如何在 perl 中在远程服务器上创建 Zip 文件
【发布时间】:2012-05-18 15:57:16
【问题描述】:

实际上我使用 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;

感谢大家的宝贵时间

【问题讨论】:

    标签: perl


    【解决方案1】:

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

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

    【讨论】:

    • 嗨,由于服务器是 unix 或 nt,因此不会出现专有的 unix 解决方案。我连接的唯一方法是通过 ftp
    • @ThalesPereira,这个解决方案是标准的 FTP 协议,不是唯一的 Unix 解决方案,它应该适用于 NT。
    【解决方案2】:

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

    谢谢,

    F.

    【讨论】:

    • 嗨,由于服务器是 unix 或 nt,因此不会出现专有的 unix 解决方案。我连接的唯一方法是通过 ftp
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 2015-07-29
    相关资源
    最近更新 更多