我们有一个计划任务,使用Windows命令行FTP程序在两台Windows服务器之间传输一个大文件(〜130 MB)。 这是痛苦的缓慢(大约30分钟),偶尔会在转移完成之前终止。 服务器是2003(发送)和2008(接收)。
如果我手动传输文件,使用FileZilla的GUI,它运行得相当快,并在几分钟内完成。 我不能使用这种方法,因为我们希望这个自动运行和FileZilla不能脚本。
我也注意到,当我禁用Windows 2003防火墙时,命令行FTP突然快了许多,达到了与FileZilla相同的速度。
所以,我似乎有一个解决方法,在传输前后禁用/启用防火墙。 但经过广泛的谷歌search,这似乎并不是一个普遍的问题,我觉得东西configuration错误的地方。
任何人都可以阐明为什么禁用防火墙为什么如此戏剧性地提高速度? 为什么FileZilla比命令行FTP(防火墙启用时)更快?
ICMP是互联网主机的要求。 有时pipe理员会阻止所有ICMP,因为他们“听说某处存在安全风险”。 但是ICMP不是可选的,TCP依靠它。 (至less必须允许“需要分散” 。)
检查数据包并findFTP的。
server1.domain.com:12345 -> server2.domain.com:21
问题是命令行FTP使用主动模式FTP。
Filezilla自动切换到被动模式的ftp,这对防火墙更加友好。
命令行FTP只支持活动,所以你卡在那里。
从命令行使用被动模式的ftp的替代实用程序(有可能满足您的需要的文件目录的cmd行选项)。