java - 这对 sftp : java or shell script? 更有效

标签 java linux bash sftp ssh2-sftp

<分区>

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

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

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

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

最佳答案

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

关于java - 这对 sftp : java or shell script? 更有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36371306/

相关文章:

java - J2ME 中的 HTTP PUT 方法

Java 8 在非静态方法中映射内部静态类属性

java - 如何使用 Dozer 将数组映射到复杂类型

可以写入,但不能从linux C程序中的串口ttyS0读取

linux - 使用 (S)FTP 访问文件?

ruby-on-rails - 生成不生成代码

linux - zsh 中修改当前完成选项的 compopt 等效项是什么?

java - JAR 与 JDBC 连接

linux - crontab:获取BASH内部变量

arrays - Bash 在 while 循环中构建数组(不持久)?