Bash 强制lftp打开二进制连接?
问题:我正在尝试创建公共FTP站点的本地镜像。当我使用Bash 强制lftp打开二进制连接?,bash,ftp,ftp-client,lftp,Bash,Ftp,Ftp Client,Lftp,问题:我正在尝试创建公共FTP站点的本地镜像。当我使用lftp执行此项工作时,它会创建一个镜像,没有问题,但当我几天后尝试更新镜像时,由于被几个文件卡住,它会变得非常缓慢 运行lftp-d我可以看到lftp向RETR文件发出多个请求,但这些请求会导致多个****超时-重新连接消息,大约2-3分钟后我看到 二进制模式的ftp命令是bin,因此在获取文件之前使用该命令 cd /direc/tory; bin; get file.xml 问题是我明白了 ---> TYPE I <---
lftp
执行此项工作时,它会创建一个镜像,没有问题,但当我几天后尝试更新镜像时,由于被几个文件卡住,它会变得非常缓慢
运行lftp-d
我可以看到lftp
向RETR
文件发出多个请求,但这些请求会导致多个****超时-重新连接
消息,大约2-3分钟后我看到
二进制模式的ftp命令是
bin
,因此在获取文件之前使用该命令
cd /direc/tory; bin; get file.xml
问题是我明白了
---> TYPE I
<--- 200 Switching to Binary mode.
-->I型
默认情况下,lftp对所有文件传输使用二进制模式,对目录列表使用ascii模式。所以二进制模式在这里应该不是问题
可能您有一个微妙的连接问题,有时将net:socket maxseg设置为较低的值(例如500)会有所帮助。我开始怀疑我被服务器限制了。。。原因是打开ftp服务器上的任何文件(例如通过lynx)会变得非常慢。但是,奇怪的是,如果我取消并重新启动lftp,它会从第一个文件夹开始,并重新下载已从取消的会话中更新的文件(没有任何错误或延迟)。。。所以我不太确定该怎么做。我没有尝试您建议的设置,因为使用--忽略时间解决了我的问题。我接受了你的回答,因为你已经明确表示,二进制模式总是被使用。
cd /direc/tory; bin; get file.xml
---> TYPE I
<--- 200 Switching to Binary mode.