import com.jcraft.jsch.ChannelExec; import com.jcraft.jsch.JSch; import com.jcraft.jsch.JSchException; import com.jcraft.jsch.Session; import org.n3r.quartz.glass.log.joblog.JobLogs; import java.util.Properties; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /** * Created by jansep_wangcx on 2018/5/31 * 远程调用其他主机sh脚本工具 */ public class ShToOtherUtil { /** * * @param ip * @param name * @param pass * @param port 端口,默认22 * @param shpath sh脚本地址 * @return */ public static boolean ExeShell(String ip,String name,String pass, int port,String shpath){ try{ Session session = null; JSch jsch = new JSch(); // 创建JSch对象 if(port==22){ session = jsch.getSession(name, ip); }else{ session = jsch.getSession(name, ip,port); } session.setPassword(pass); Properties config = new Properties(); config.put("StrictHostKeyChecking", "no"); session.setConfig(config); // session.connect(30000); session.connect(); ChannelExec channelExec = (ChannelExec) session.openChannel("exec"); channelExec.setCommand("sh " + shpath); channelExec.setInputStream(null); channelExec.setErrStream(System.err); channelExec.connect(); BufferedReader input = new BufferedReader(new InputStreamReader(channelExec .getInputStream())); String line; while ((line = input.readLine()) != null) { JobLogs.info("InputStream:"+line); } }catch (JSchException e) { JobLogs.error("ssh连接出错",e); return false; }catch (IOException e) { JobLogs.error("sh脚本执行出错",e); return false; } return true; } }
相关推荐
2. **Perl脚本执行**:假设远程主机上的Perl脚本名为`remote_perl_script.pl`,我们可以在SSH命令中直接调用它,如`ssh user@remote_host perl remote_perl_script.pl`。如果Perl脚本需要参数,可以传递在命令后,...
Java远程调用Shell脚本并获取输出信息 本文主要介绍了Java远程调用Shell脚本并获取输出信息的方法。该方法通过使用Java的SSH客户端来连接远程Linux服务器,执行Shell脚本,并获取输出信息。 一、添加依赖 要使用...
标题中的“通过SSHPASS执行命令及相关脚本”是指在Linux环境下使用`sshpass`工具进行非交互式SSH登录并执行远程命令的技术。`sshpass`是一个命令行实用程序,它允许用户在不手动输入密码的情况下,通过SSH连接执行...
- **命令行启动**:可以通过`carte.bat`(Windows)或`carte.sh`(Linux)脚本启动Carte,指定主机地址和端口号,如`Carte 127.0.0.1 8080`。 - **配置文件启动**:当需要动态集群设置时,使用配置文件启动Carte。...
将脚本放置在远程主机的某个路径,例如`/root/hello.sh`。 接下来,在Java程序中,你可以使用以下代码来执行远程shell脚本: ```java import com.jcraft.jsch.*; public class RunRemoteScript { private static...
3. **执行远程脚本**:勾选“执行远程主机上的shell脚本(使用SSH)”选项。 4. **设置SSH站点**:在“SSH站点”下拉菜单中选择第四步中配置的远程主机名称。 5. **编写脚本**:在“预构建脚本”和“后构建脚本”...
本文将深入探讨如何使用Ant工具进行远程调用Shell脚本,以启动Linux服务器上的Tomcat应用服务器。Ant是一个基于Java的任务执行工具,常用于构建和管理Java项目。而Tomcat是一款广泛使用的开源Servlet容器,适用于...
"远程登录Linux主机更换IP地址" 远程登录Linux主机更换IP地址是指在远程登录Linux主机时,需要更换IP地址以便进行网络配置的过程。该过程通常用于克隆虚拟机或新建实例时,需要指定IP地址以避免IP地址冲突和混乱。 ...
将Java与Shell脚本结合使用,可以在Java应用程序中执行系统级操作或者调用复杂的命令行流程。下面我们将详细探讨如何在Java中调用shell脚本以及涉及到的相关知识点。 首先,Java调用shell脚本主要通过`Runtime`类或...
PPP拨号脚本通常用于配置和管理这些连接,使得Linux主机可以拨号上网或者与其他设备建立点对点连接。本文将详细探讨Linux PPP拨号脚本,包括`ip-up`、`chat-connect`和`chat-disconnect`等关键文件的作用,以及如何...
`ssh-copy-id`命令是SSH的一部分,用于将本地的公钥复制到远程主机的`~/.ssh/authorized_keys`文件中,从而实现免密登录。本文将详细讲解如何使用shell脚本来批量执行`ssh-copy-id`,以提高效率。 ### 需求 批量...
"ubuntu实用脚本"这个主题,尤其是结合了"adb push"命令的集成,表明我们正在讨论一种旨在简化Android设备或模拟器与主机之间文件传输的脚本。下面我们将深入探讨Ubuntu脚本和adb工具的相关知识点。 1. **Ubuntu ...
巡检脚本是实现这一目的的有效工具之一,它能够自动化收集系统的多项关键指标,帮助管理员快速定位问题并作出相应的处理。 #### 二、脚本功能解析 根据提供的Linux巡检脚本内容,我们可以将其主要功能分为以下几个...
在本案例中,作者提到了一种通过DOS批处理脚本来实现telnet远程登录并执行一系列操作的方法,以简化日常工作中重复性较高的任务。 #### 工作环境配置 - **开发工具**:Eclipse - **数据库**:Oracle 10g - **测试...
为了开启Tomcat的远程调试功能,我们需要在Tomcat的启动脚本(如`catalina.sh`或`catalina.bat`)中添加特定的Java选项。主要涉及以下两个参数: 1. `-Xdebug`: 这个参数告诉JVM开启调试模式。 2. `-Xrunjdwp`: 它...
gdbserver是一款轻量级的远程调试工具,能够在目标板上运行并接受来自宿主机gdb的指令。 2. **SSH服务配置**:确保目标板上已安装SSH服务,并且能够通过SSH连接。具体安装方法取决于目标板的操作系统,一般可以...
这通常通过 SSH 或其他远程执行工具实现,如 SCP 或 WinRM。在 Job 的“构建后操作”中配置这些步骤,包括上传文件、执行远程脚本以启动服务等。 **Jenkins安装** Jenkins 可以通过两种方式进行安装:RPM 和 WAR ...
假设你想从远程主机接收一个文件,你可以打开iTerm2,然后运行`iterm2-recv-zmodem.sh`脚本,它会启动一个等待接收文件的会话。在远程主机上,使用sz命令发送文件: ```bash sz /path/to/remote/file ``` 在iTerm2...
确保脚本具有执行权限(`chmod +x script.sh`),并且在脚本中使用`#!/bin/bash`作为第一行来指定解释器。 5. **错误处理与安全性**:在实际应用中,我们需要处理连接失败、命令执行错误等异常情况。同时,务必注意...