如何在windows和linux远程服务器之间传输/同步内容?

问题描述:

如何使用jsch sftp将文件夹从Windows递归复制到远程Linux服务器?如何在windows和linux远程服务器之间传输/同步内容?

我已经尝试过使用sftpchannel.put(src,dest),但它只传输文件。我也尝试遍历文件列表来寻找一个目录并运行一个递归循环,但它使得代码更加复杂,并带有额外的异常处理。他们有任何其他方式来做到这一点?

他们有什么方法在Windows和Linux机器之间使用类似rsync的东西使用Java代码? 请帮助.. !!!提前致谢...!!!

+1

[在JSch中使用channelsftp传输文件夹和子文件夹的可能的副本](http://*.com/questions/11650013/transfer-folder-and-subfolders-using-channelsftp-in-jsch) –

Jsch没有SFTP操作递归地将目录从本地传输到远程(或从远程到本地)。要使用Jsch递归地传输目录,您需要编写代码来构建要传输的文件和目录列表,然后发出调用以创建每个远程目录和ChannelSftp.put()操作来传输每个文件。

我知道从java中使用rsync的唯一方法是调用rsync command line utility作为外部命令。它会调用ssh command line utility或其他外部程序来建立自己的连接到远程服务器。 Jsch通常不会涉及。

+0

这就像当我们拖放一个文件夹/文件通过WinSCP ..我想通过Java代码模仿相同的行为.. –