【发布时间】:2016-08-15 02:56:56
【问题描述】:
当尝试使用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 始终完整下载数据,无需重新启动位置),或者我想要的原则上是否可以实现。我会通过实际运行这些选项来尝试这些选项,但是当文件损坏时我看不到任何可预测的模式,并且重新下载相同的文件总是会给出正确的版本。所以任何帮助表示赞赏! :)
【问题讨论】:
标签: bash networking ftp lftp