AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 52176
Accepted
Moak
Moak
Asked: 2009-08-11 01:47:38 +0800 CST2009-08-11 01:47:38 +0800 CST 2009-08-11 01:47:38 +0800 CST

从一台服务器到另一台服务器的大 FTP 传输

  • 772

问候,我正在使用 ncftpput 将大量文件从服务器传输到另一个

ncftpput -f server.txt -vRdb /public_html /var/www/site.com

发生的情况是,大约 100 次传输后连接被切断。有成千上万的文件需要传输。问题是连接断开后我重新输入命令,它从头开始。替换所有现有文件,使之前的传输变得多余。有没有办法跳过现有文件?它不在手册页中,所以我假设没有。那么有人建议替代命令行解决方案吗?

linux ftp ubuntu
  • 6 6 个回答
  • 2156 Views

6 个回答

  • Voted
  1. Best Answer
    rkthkr
    2009-08-11T01:58:04+08:002009-08-11T01:58:04+08:00

    lftp是一个很好的工具,它可以使用 mirror 命令编写脚本:

     lftp has builtin mirror which can download or update a whole
     directory  tree.  There  is  also reverse mirror (mirror -R)
     which uploads or updates a directory tree on server.  Mirror
     can also synchronize directories between two remote servers,
     using FXP if available.
    

    $ lftp -f

    脚本文件:

    open ftp://<user>:<pass>@ftp.blah.org/~
    set net:timeout 10
    set net:max-retries 2
    set net:reconnect-interval-base 5
    set net:reconnect-interval-multiplier 1
    mirror dir1 dir1
    exit
    
    • 3
  2. innaM
    2009-08-11T01:59:11+08:002009-08-11T01:59:11+08:00

    您可以尝试使用 ncftpput 的-DD选项。这将在成功传输后删除本地文件。如果您不想删除 /public_html 目录中的文件,可以先将它们复制到临时目录。

    • 1
  3. Olray
    2014-09-03T04:08:29+08:002014-09-03T04:08:29+08:00
    #!/bin/bash
    
    FILES=`cat server.txt`
    for FILE in $FILES
    do
      if [ ! -d "$FILE" ]; then
        echo "Uploading $FILE..."
        ncftpput -DD -u $FTPUSER -p $FTPPASS $FTPHOST /destination/ftp/dir/$FILE
      fi
    done
    

    不要忘记设置 FTPUSER、$FTPPASS、$FTPHOST -DD 选项将在成功上传后删除文件。第 4 行中的 "!-d "$FILE"" 将跳过 server.txt 中的目录。不要忘记使用“chmod 755 yourscriptfile”使脚本可执行。

    • 1
  4. lg.
    2009-08-11T02:05:30+08:002009-08-11T02:05:30+08:00

    你试过这个选项吗?

    -A 附加到远程文件,而不是覆盖它们。

    (来自ncftp 网站)

    • 0
  5. dmityugov
    2009-08-11T02:34:12+08:002009-08-11T02:34:12+08:00

    试试wput

    • 0
  6. cas
    2009-08-11T14:12:47+08:002009-08-11T14:12:47+08:00

    有什么理由不能使用 rsync 而不是 ftp?

    IMO rsync 是这项工作的正确工具。它只会传输新的和更改的文件,这意味着如果传输终止并且必须重新启动,它将从中断的地方重新开始,而不是从头开始。

    • 0

相关问题

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve