通过 FTP 将多个文件从 VAX/VMS 传输到 PC 失败

通过 FTP 将多个文件从 VAX/VMS 传输到 PC 失败

我试图通过 mget 命令将许多文件从 VAX/VMS 服务器 FTP 传输到本地 PC。对于几个文件,它有效,但当文件太多时会失败,因为远程服务器会关闭连接。这不应该是由于管理控制造成的 - 在使用不同类型的文件进行多次尝试后,在“随机”数量的文件后会失败。似乎 ASCII 模式比 BINARY 文件传输模式更早出现问题。

假设我想将许多(>100)个扩展名为 ASC 的 ASCII 文件从 VAX/VMS 机器传输到我的本地 PC。以下记录了我的命令和失败。

ftp remote.server.location.com
Connected to remote.server.location.com.
220 remote.server.location.com FTP Server (Version 5.6) Ready.
Name (remote.server.location.com:user1pc): user1

331 Username user1 requires a Password
Password:
230 User logged in.
Remote system type is VMS.
ftp> cd [.DIRECTORY.OF.INTEREST]
250-CWD command successful.
250 New default directory is DISK1:[USER1.DIRECTORY.OF.INTEREST]
ftp> ascii
200 TYPE set to ASCII.
ftp> prompt off
Interactive mode off.
ftp> mget *.ASC
local: FILE1.ASC;1 remote: FILE1.ASC;1
200 PORT command successful.
150 Opening data connection for DISK1:[USER1.DIRECTORY.OF.INTEREST]FILE1.ASC;1 (198.162.0.4,58057) (1120 bytes)
226 Transfer complete.
1101 bytes received in 0.015 seconds (73390 bytes/s)
local: FILE2.ASC;1 remote: FILE2.ASC;1
200 PORT command successful.
150 Opening data connection for DISK1:[USER1.DIRECTORY.OF.INTEREST]FILE2.ASC;1 (198.162.0.4,58057) (1120 bytes)
226 Transfer complete.
1101 bytes received in 0.015 seconds (73390 bytes/s)
local: FILE3.ASC;1 remote: FILE3.ASC;1
200 PORT command successful.
150 Opening data connection for DISK1:[USER1.DIRECTORY.OF.INTEREST]FILE3.ASC;1 (198.162.0.4,58057) (1120 bytes)
226 Transfer complete.
1101 bytes received in 0.015 seconds (73390 bytes/s)
...
421 Service not available, remote server has closed connection
local: FILE1002.ASC;1 remote: FILE1002.ASC;1
ftp: No control connection for command
ftp: No control connection for command
local: FILE1003.ASC;1 remote: FILE1003.ASC;1
ftp: No control connection for command
ftp: No control connection for command
local: FILE1004.ASC;1 remote: FILE1004.ASC;1
ftp: No control connection for command
ftp: No control connection for command

在此之后,我甚至无法通过 FTP 或其他方式(例如 telnet)登录到远程 VAX/VMS 服务器几分钟。

我已将问题分解为更小的部分(更少的文件),并且成功通过 FTP 一次传输 50 个文件。

谢谢。

答案1

我发现解决方案很简单,就是使用passive模式而不是默认active模式。两种模式之间的区别解释如下:https://stackoverflow.com/questions/1699145/what-is-the-difference-between-active-and-passive-ftp

通过在 ftp 提示符下输入以下内容来启用被动模式

passive on

我能够使用passive模式传输无限数量的文件。我不确定这样做的详细原因,但我尝试了它,因为我怀疑模式中的数据通道不堪重负active

相关内容