首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >强迫lftp打开二进制连接?

强迫lftp打开二进制连接?
EN

Stack Overflow用户
提问于 2016-04-16 15:58:46
回答 2查看 5.7K关注 0票数 2

问题:我正在尝试创建一个公共FTP站点的本地镜像。当我使用lftp完成这项工作时,它会创建一个没有问题的镜像,但是当我几天后试图更新镜像时,由于被几个文件卡住而变得非常缓慢。

运行lftp -d时,我可以看到lftpRETR文件发出了几个请求,但是这些请求会产生几条**** Timeout - reconnecting消息,大约2-3分钟后我会看到

<-- 150打开{文件名删除}.`的二进制模式数据连接

在这最后一个命令之后,文件成功下载,lftp继续前进。

从手册中我了解到二进制是lftp的默认模式,但是它似乎并不适用于早期的请求。有人能建议我如何强迫lftp总是打开二进制模式数据连接来下载所有文件吗?

这是一辆MWE:

代码语言:javascript
复制
``lftp -d -u anonymous,anonymous -c "open {url}; get {file}"``

以及lftp -d的回应

代码语言:javascript
复制
---- Connecting to {url} ({IP}) port 21
<--- 220 (vsFTPd 3.0.3)                          
---> FEAT
<--- 211-Features:                                     
<---  EPRT
<---  EPSV
<---  MDTM
<---  PASV
<---  REST STREAM
<---  SIZE
<---  TVFS
<--- 211 End
---> USER anonymous
<--- 331 Please specify the password.            
---> PASS anonymous
<--- 230 Login successful.                                      
---> TYPE I
<--- 200 Switching to Binary mode.                         
---> SIZE {file}
<--- 213 3321                                              
---> MDTM {file}
--- 213 20160318190446                                         
---> PASV
<--- 227 Entering Passive Mode ({IP}).        
---- Connecting data socket to ({IP}) port 55380
---- Data connection established                                  
---> RETR {file}
**** Timeout - reconnecting                                     
---- Closing data socket
---- Closing control socket
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-18 11:00:51

lftp默认使用二进制模式处理所有文件传输,ascii模式用于目录列表。所以二进制模式在这里不应该是一个问题。

也许您有一个微妙的连接问题,有时将net:socket-maxseg设置为较低的值(例如500)会有所帮助。

票数 3
EN

Stack Overflow用户

发布于 2016-04-17 02:27:29

二进制模式的ftp命令是bin,所以在get文件之前使用该命令。

代码语言:javascript
复制
cd /direc/tory; bin; get file.xml

问题是我看到了

代码语言:javascript
复制
---> TYPE I
<--- 200 Switching to Binary mode.                         

在您的输出中,所以您已经处于二进制模式。我想知道你是否有不同的问题?我还看到您使用的是被动模式(PASV),这很好,因为被动模式可以在防火墙和NAT[1]中工作,所以我们需要另一个原因来解释这些超时。

你还有其他线索吗,可能是pingnetstat

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36666410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档