Java 将脚本推送到远程系统,然后运行它

Java 将脚本推送到远程系统,然后运行它,java,jsch,Java,Jsch,我正在编写一个java程序来帮助自动化几个任务。在其中一个任务中,我需要将bash脚本推送到远程linux系统(java程序将在windows机器上运行),然后运行脚本。有没有人知道该怎么做 我研究过Jsch,但是文档很糟糕,我在实现我想做的事情时遇到了难以置信的困难。还有其他想法或具体的用例吗 编辑:我刚想到用java来运行一个批处理,这个批处理可以完成这项任务。是的,但可能。现在正在调查这件事 我确实创建了一个,它应该可以帮助您实现这一点。要进行复制,应使用ChannelSftp,然后使用C

我正在编写一个java程序来帮助自动化几个任务。在其中一个任务中,我需要将bash脚本推送到远程linux系统(java程序将在windows机器上运行),然后运行脚本。有没有人知道该怎么做

我研究过Jsch,但是文档很糟糕,我在实现我想做的事情时遇到了难以置信的困难。还有其他想法或具体的用例吗

编辑:我刚想到用java来运行一个批处理,这个批处理可以完成这项任务。是的,但可能。现在正在调查这件事

我确实创建了一个,它应该可以帮助您实现这一点。要进行复制,应使用ChannelSftp,然后使用ChannelExec执行脚本

或者,如果您真的不需要脚本在服务器上,根据脚本语言的不同,您可以将整个脚本作为ChannelExec的“命令”提供(它的命令在用户的默认shell中执行,我认为没有固有的大小限制)


如果您使用的是Perl或类似的解释器,您可以将脚本作为标准输入(即通道的输入流)传递给解释器命令,解释器命令应允许“实时”执行它。

和的可能副本-您会注意到这里已经有很多关于stackoverflow的信息。是的,谢谢。我的谷歌搜索引擎显然很弱。我分别搜索了这些需求,但从未返回这些结果,在问这个问题时,相关问题也没有包括这些。我将使用这些链接,看看是否可以拼凑一些东西。谢谢。如果这是一个持续的需求,您可能想看看系统管理工具,如Salt或Puppet(可能还有其他工具)。