lftp - 重启位置

时间:2016-04-21 18:20:34

标签: bash networking ftp lftp

尝试使用lftp镜像时,我收到以下输出(-d调试模式):

<--- 227 Entering Passive Mode {some numbers}
---- Connecting data socket to (more numbers and port)
---- Data connection established
---> REST 0
<--- 350 Restart position accepted (0).
---> RETR {some filename}

当我打开此文件时,文件已损坏 - 文件内容向下移动了几行,然后在其上面写入文件的正常副本。例如,如果文件有五行(紧凑性未显示换行符):line1 line2 line3 line4 line5,则损坏的文件将显示为:line1 line2 line3 line3 line4 line5。

鉴于我遇到的这个ftp /网络组合的其他问题,我知道这不是lftp的错。但是,我想知道禁用restart position更改是否会以某种方式修复这些损坏的文件(至少它适用于其他文件)。通过阅读手册,我可以看到以下两个选项:

   hftp:use-range (boolean)
          when true, lftp will use Range header for transfer restart.

   http:use-range (boolean)
          when true, lftp will use Range header for transfer restart.

我不知道这是否与我想要达到的目标相关(强制lftp总是完全下载数据,而不重新启动位置),或者我想要的是原则上是否可以实现。我会通过实际运行它们来尝试这些选项,但是当文件被损坏并且重新下载相同文件总是提供正确版本时,我看不到任何可预测的模式。所以任何帮助表示赞赏! :)

1 个答案:

答案 0 :(得分:0)

不确定这是否是解决方案,但基于日志我认为问题是由get -c命令引起的,所以我从镜像作业中删除了--continue