哪个更有效的sftp:java或shell脚本?

时间:2016-04-02 09:04:57

标签: java linux bash sftp ssh2-sftp

我们每分钟向几台服务器发送数百个文件。

目前我们正在生成shell脚本(作为java文件),它只包含sftp命令并将它们作为shell脚本执行。我们使用java的原因是基于目标路径和目标服务器来组织文件。最后,对于每个目标服务器,我们将有一个shell脚本。

现在我想如果我通过java代码本身发送文件而不是生成脚本并执行它会更高效和快速

目前,为4台服务器生成脚本需要4到5秒。因此,实际sftp的执行从第5秒开始并且非常快地完成(基于文件计数)。如果我像JSch那样切换到java sftp它会像shell脚本中的sftp一样快还是更慢?

1 个答案:

答案 0 :(得分:1)

这取决于你想要达到的目标。如果维护该解决方案也是一个因素,我建议使用带有ftp组件https://github.com/apache/camel/tree/master/examples/camel-example-ftp的apache-camel。为您提供控制和灵活性。没有shell脚本生成。最重要的是,你可以在它周围编写一个应用程序(如果需要),或者使它成为现有应用程序的一部分。