【问题标题】:Downloading all files from an FTP Server [closed]从 FTP 服务器下载所有文件 [关闭]
【发布时间】:2011-03-01 11:53:16
【问题描述】:

我需要将所有内容从 FTP 服务器下载到托管在不同的服务器上。我只能访问我将文件下载到的服务器。如何使用 Linux FTP 命令下载每个文件,并在此过程中创建它们所需的目录?

【问题讨论】:

    标签: linux ftp debian


    【解决方案1】:

    以这种方式使用wget(m 表示镜像):

    wget -m ftp://username:password@ip.of.old.host
    

    如果您的用户名或密码包含特殊字符,您可能需要使用以下格式:

    wget -m --user=username --password=password ftp://ip.of.old.host
    

    另外,我找到了this guide,它向您展示了如何在 Debian 中使用 ncftp。如果尚未安装 ncftp,您将需要对新服务器的 root 访问权限。

    简而言之:

    sudo apt-get install ncftp
    ncftpget –T –R –v –u "ftpuser" ftp.nixcraft.net /home/vivek/backup /www-data
    

    【讨论】:

    • 谢谢。实际上,我在看到这个之前就自己发现了它。前五次未使用正确的 Google 搜索字词。
    • 如果您收到“端口错误”错误消息,您可能有一个电子邮件地址作为用户名(互联网变得越来越奇怪)并且 @ 使 wget 感到困惑。试试: wget -m --user some.email@example.com --password myPassword example.com
    • 当密码末尾有“@”时,这不起作用。有其他选择吗?
    【解决方案2】:

    另一种方法是使用ftp。这是一个使用 ftp 的示例 shell 脚本:

    #! /bin/bash
    
    ftp -n << 'EOF'
    open ftp.your_ftp_host.com
    quote USER your_username_here
    quote PASS your_password_here
    cd gets
    prompt no
    mget * .
    bye
    EOF
    

    【讨论】:

    • 此解决方案不获取子目录内容
    【解决方案3】:

    一些 FTP 服务器允许下载整个目录,方法是使用 .tar 或 .tgz 作为后缀。然后服务器会创建该目录的存档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-08
      • 1970-01-01
      • 1970-01-01
      • 2012-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多