【问题标题】:FTP to FTP with linux batch or command line使用 linux 批处理或命令行的 FTP 到 FTP
【发布时间】:2011-11-12 05:31:36
【问题描述】:

我目前面临着一个相当有限的共享网络主机,我必须(阅读:想要)使用它来将文件从 FTP 传输到 FTP。

Server1:专用的 linux 服务器,完全控制(SSH 等)。 Server2:有限的共享网络主机,但启用了 FTP。 Server3:一个非常有限的共享网络主机,但也启用了 FTP。

我需要做的是将文件从 Server2 复制到 Server3。服务器 3 禁用了几乎所有 PHP 文件传输选项,但启用了 FTP。我唯一的选择是使用 FTP 传输文件。首先想到的是:

-Server1 使用 wget(使用 php exec)从 server2 导入文件:

exec('wget ftp://user:pass@server2.com//home/filesfolder/thefile.php -P /var/www/holdingfolder');

-Server1 使用 FTP 将文件上传到 server3 并将其从“holdingfolder”中删除

这可行,但此选项只是浪费带宽,并假定 server1 在任何时候都有足够的空间来保存文件,直到它被传输。我不能使用专用的 linux 服务器的 FTP 客户端将其直接 FTP 到另一个 FTP 服务器作为傀儡大师吗?

【问题讨论】:

    标签: php ftp


    【解决方案1】:

    FTP 并非旨在成为代理系统 - 它只是点对点的。但是,由于两个 ftp-only 系统都是 webhosts,您不能在任一服务器上安装 PHP 脚本来直接执行 server2server3 传输吗?您可以从 server1 通过 wget 调用它,然后基本上告诉其他服务器“ftp 到另一台服务器并获取文件 X”。

    【讨论】:

    • 通过 PHP 的 FTP 已在 server3 上禁用;(
    • 您可以有一个 php 脚本,它可以简单地提供您指定的任何文件的内容。这将是一个安全风险,但通过适当的密码保护和一些良好的混淆,风险将是最小的。
    • 服务器设置受到极大限制。正如您可以通过此错误看到的:警告:file_get_contents() [function.file-get-contents]: URL file-access is disabled in server configuration in /path/htdocs/get.php on line 4 还有其他方法吗?
    • CURL 是另一个主要的,假设它已启用。
    • 试过了,也不允许卷曲。也许我应该放弃并使用带宽浪费方法。不过,我仍然期待可能的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    相关资源
    最近更新 更多