我有一个Java应用程序,它从一个FTP服务器复制或移动一堆千兆文件到另一个。目前它使用ftp get将第一个fpt服务器中的文件复制到本地计算机(它运行的位置),然后使用ftp put将其复制到第二个ftp服务器。我使用apache的网络库。复制或移动一个文件从一个FTP服务器到另一个
是否有可能直接从一台FTP服务器复制到另一台绕过本地计算机?一个想法是创建一个java远程登录会话并发送一些ftp命令。它会起作用吗?还有其他建议吗?
我有一个Java应用程序,它从一个FTP服务器复制或移动一堆千兆文件到另一个。目前它使用ftp get将第一个fpt服务器中的文件复制到本地计算机(它运行的位置),然后使用ftp put将其复制到第二个ftp服务器。我使用apache的网络库。复制或移动一个文件从一个FTP服务器到另一个
是否有可能直接从一台FTP服务器复制到另一台绕过本地计算机?一个想法是创建一个java远程登录会话并发送一些ftp命令。它会起作用吗?还有其他建议吗?
服务器到服务器的FTP传输也称为“FXP”。尝试在谷歌中搜索“fxp java”。
例如:this page可能会有用。
这肯定会奏效。但是,如果您可以使用rcp(1)或scp(1),则不需要中间副本或Telnet会话。只需使用
$ scp [email protected]:file [email protected]:file
如果您使用远程会话,请考虑使用ssh(1)而不是telnet。
Telnet/SSH应该可以工作。找到一个可用的java远程登录客户端库,并从那里拿...
Here's an article关于脚本与Java的Telnet会话。
是的,理论上这可能是由于FTP工作的有趣方式。实际上,它可能需要一个自定义的FTP“客户端”,与两台服务器一起工作。
服务器到服务器的传输方案在FTP RFC (959).的第5.2节中进行了描述和说明。简而言之,一台服务器会发送一条PASV命令,该命令将IP地址和端口号返回给中间人。中间人通过PORT命令将其发送到另一台服务器,并且该服务器直接与第一台服务器建立数据连接。
我知道一个PHP脚本。您可以使用它将文件从服务器移动到服务器,而无需SSH访问。 速度非常快,可以移动多个文件:http://dlvn.net/web-development/move-files-from-server-to-server/
您没有权限在目标服务器上运行任何操作? – neesh 2009-06-06 21:02:51