尝试使用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
总是完全下载数据,而不重新启动位置),或者我想要的是原则上是否可以实现。我会通过实际运行它们来尝试这些选项,但是当文件被损坏并且重新下载相同文件总是提供正确版本时,我看不到任何可预测的模式。所以任何帮助表示赞赏! :)
答案 0 :(得分:0)
不确定这是否是解决方案,但基于日志我认为问题是由get -c
命令引起的,所以我从镜像作业中删除了--continue
。