使用多个目录加速lftp镜像

使用多个目录加速lftp镜像,ftp,wget,lftp,Ftp,Wget,Lftp,我正在尝试将公共FTP镜像到本地目录。当我使用wget-m{url}时,wget会很快跳过许多已经下载的文件(并且没有更新的版本),当我使用lftp open-u user时,传递{url};镜像然后lftp为每个文件发送MDTM,然后再决定是否下载该文件。在50000多个目录中有200多万个文件,这是非常慢的,此外,我还收到错误消息,无法获得目录的MDTM 手册中说,使用关闭同步模式将导致一次发送所有请求,这样lftp就不会等待每个响应。当我这样做时,我从服务器收到错误消息,说我的IP地址有太

我正在尝试将公共FTP镜像到本地目录。当我使用
wget-m{url}
时,wget会很快跳过许多已经下载的文件(并且没有更新的版本),当我使用
lftp open-u user时,传递{url};镜像
然后
lftp
为每个文件发送
MDTM
,然后再决定是否下载该文件。在50000多个目录中有200多万个文件,这是非常慢的,此外,我还收到错误消息,无法获得目录的MDTM

手册中说,使用
关闭同步模式将导致一次发送所有请求,这样
lftp
就不会等待每个响应。当我这样做时,我从服务器收到错误消息,说我的IP地址有太多的连接

我尝试先运行
wget
只下载较新的文件,但这不会删除从FTP服务器上删除的文件,因此我随后使用
lftp
删除旧文件,但是
lftp
仍会在每个文件上发送MDTM,这意味着这种方法没有任何优势

如果我使用
set ftp:use mdtm off
,那么似乎
lftp
只是再次下载所有文件


有没有人能为大量目录/文件的
lftp
建议正确的设置(特别是,它会跳过未更新的目录,就像wget似乎做的那样)?

使用
set ftp:在第一次调用时使用mdtm off
mirror--ignore time
,以避免重新下载所有文件


您还可以尝试升级lftp和/或使用
set ftp:use mlsd on
,在这种情况下,lftp将从mlsd命令输出中获得精确的文件修改时间(前提是服务器支持该命令)。

感谢您的评论。我正在使用OSX,
brew安装lftp——升级
告诉我我有最新版本4.6.5。我可以从中看出4.7已过时,因此我将等待它通过brew可用。尝试使用
set ftp:use mdtm off
mirror--ignore time
,程序会很快检查目录。您能否澄清一下,当您说“第一次调用”时,第二次调用的正确设置是什么?在第二次和以后的调用中,
--忽略时间
选项将不需要,因为时间戳已经对应于第一次镜像后显示的时间戳。