当前位置:首页 » 网页前端 » java程序远程脚本
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

java程序远程脚本

发布时间: 2022-09-07 22:55:08

⑴ java程序怎么向远程的hadoop提交maprece任务

将 hadoop执行job命令写到shell脚本中。类似 hadoop jar x.jar ×××.MainClassName inputPath outputPath这种命令。

hadoop客户机在本地,使用 Process执行shell脚本,java执行本地shell脚本的代码

1
2
3
4

Process process =null;
String command1 = " ./test.sh";
process = Runtime.getRuntime().exec(command1);
process.waitFor();

3.hadoop 在远程服务器上,java可以使用SSH连接远程服务器执行shell脚本。需要借助第三方jar包实现,常用的是ganymed-ssh2-build210.jar,网上有很多例子。

⑵ java 用shh2 远程远程Shell脚本执行工具问题

是不是远程登陆用户的权限问题提呢?

⑶ 谁会写在linux服务器上运行java程序的运行脚本

你是要单次运行还是不挂断在后台运行?单次直接java -jar xxx.jar 就可以了,不挂断的话,可以编写一个shell脚本,start.sh 内容如下
#!/bin/sh
nohup java -jar -XX:PermSize=64m -XX:MaxPermSize=128m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:SurvivorRatio=8 xxx.jar>/dev/null 2>&1 &
具体的参数你自己把握,然后保存,给这个脚本赋于可执行权限,chmod +x start.sh
然后执行这个脚本,sh start.sh ,然后查看一下java进程,看这个服务起来没有,jps

⑷ 云南电脑培训学校告诉你java编程开发语言编辑脚本应该怎么做

脚本对于大多数程序员来说应该不陌生了吧。今天我们就一起来了解一下,在使用java编程开发语言编写API脚本的时候都需要注意哪些问题。



Java脚本化API为谁准备?


脚本语言的一些有用的特性是:


方便:大多数脚本语言都是动态类型的。您通常可以创建新的变量,而不声明变量类型,并且您可以重用变量来存储不同类型的对象。此外,脚本语言往往会自动执行许多类型的转换,例如,必要时将数字10转换为“10”。


开发快速原型:您可以避免编辑编译运行周期,只使用“编辑运行”!


应用扩展/定制:你可以“具体化”的部分应用程序,例如一些配置脚本,业务逻辑/规则和财务应用中的数学表达式。


为应用添加命令行模式,用于调试、运行时配置/部署时间。现在大多数应用程序都有一个基于Web的GUI配置工具。但是系统管理员/部署人员常常喜欢命令行工具。一个“标准”的脚本语言可以用来实现这个目的,而不是发明特设的脚本语言。


Java脚本API是一种独立于框架的脚本语言,使用来自于Java代码的脚本引擎。通过java脚本API,可以使用Java语言编写定制/可扩展的应用程序并将自定义脚本语言选择留给终用户。Java应用程序开发者不需要在开发过程中选择扩展语言。如果你使用JSR-223API来编写应用,那么你的用户可以使用任何JSR-223兼容的脚本语言。


脚本包


Java脚本功能是在javax.script包中。这是一个比较小的,简单的API。脚本的出发点是ScriptEngineManager类。一个ScriptEngineManager对象可以通过jar文件的服务发现机制发现脚本引擎。它也可以实例化脚本引擎来解释使用特定的脚本语言编写的脚本。


脚本变量


当你的java应用程序嵌入脚本引擎和脚本,你可能希望将您的应用程序对象为全局变量暴露于脚本中。这个例子演示了如何将您的应用程序对象作为全局变量暴露于脚本中。我们在应用程序中创建一个java.io.File对象作为全局变量,名称是file。昆明电脑培训http://www.kmbdqn.cn/发现该脚本可以访问变量,例如,它可以调用它的公共方法。注意访问java对象、领域和方法的语法依赖于脚本语言。JavaScript支持“自然”的类似java的语法。


⑸ java SSH远程到linux 执行本地的脚本

scp file yonghuming@服务器 :/路径

把本地文件 file 传送到 服务器 的 /路径 下。
然后就可以远程执行了。

⑹ java 远程调用,具体实现

1、使用java代码通过ssh登陆linux并执行命令,正常情况下sshd服务都会有,知道用户密码就可以使用这种方式了。
2、要在远程linux服务器上执行命令,可以在linux服务器上启动一个服务做执行脚本的代理,不断接受来自你这个项目发来的脚本信息,然后执行,再把结果返回给你项目中去。
第一种:以消息队列的方式发送这些脚本信息,linux代理不断接受,并返回结果。项目同时要不断接受结果。
第二种:项目中产生的脚本,直接记录到数据库,linux上的代理访问这个数据库,获取脚本信息,并将执行结果写入数据库。项目中轮询执行结果。
上面我说的消息队列可以采用activemq,或者rabbitmq这些。
命令执行,java中直接Runtime.getRuntime().exec(command);就行了。

⑺ java怎么执行shell脚本

如果shell脚本和java程序运行在不同的服务器上,可以使用远程执行Linux命令执行包,使用ssh2协议连接远程服务器,并发送执行命令就行了,ganymed.ssh2相关mave配置如下,你可以自己网络搜索相关资料。

如果shell脚本和java程序在同一台服务器上,

这里不得不提到java的process类了。

process这个类是一个抽象类,封装了一个进程(你在调用linux的命令或者shell脚本就是为了执行一个在linux下执行的程序,所以应该使用process类)。

process类提供了执行从进程输入,执行输出到进程,等待进程完成,检查进程的推出状态,以及shut down掉进程。

<dependency>
<groupId>com.ganymed.ssh2</groupId>
<artifactId>ganymed-ssh2-build</artifactId>
<version>210</version>
</dependency>

本地执行命令代码如下:

Stringshpath="/test/test.sh";//程序路径
Processprocess=null;
Stringcommand1=“chmod777”+shpath;
process=Runtime.getRuntime().exec(command1);
process.waitFor();

⑻ 怎么用java代码调用远程Linux上的shell脚本

package org.shirdrn.shell;

import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;

import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.Session;

/**
* 远程Shell脚本执行工具
*
* @author Administrator
*/
public class RemoteShellTool {

private Connection conn;
private String ipAddr;
private String charset = Charset.defaultCharset().toString();
private String userName;
private String password;

public RemoteShellTool(String ipAddr, String userName, String password, String charset) {
this.ipAddr = ipAddr;
this.userName = userName;
this.password = password;
if(charset != null) {
this.charset = charset;
}
}
/**
* 登录远程Linux主机
*
* @return
* @throws IOException
*/
public boolean login() throws IOException {
conn = new Connection(ipAddr);
conn.connect(); // 连接
return conn.authenticateWithPassword(userName, password); // 认证
}

/**
* 执行Shell脚本或命令
*
* @param cmds 命令行序列
* @return
*/
public String exec(String cmds) {
InputStream in = null;
String result = "";
try {
if (this.login()) {
Session session = conn.openSession(); // 打开一个会话
session.execCommand(cmds);
in = session.getStdout();
result = this.processStdout(in, this.charset);
conn.close();
}
} catch (IOException e1) {
e1.printStackTrace();
}
return result;
}

/**
* 解析流获取字符串信息
*
* @param in 输入流对象
* @param charset 字符集
* @return
*/
public String processStdout(InputStream in, String charset) {
byte[] buf = new byte[1024];
StringBuffer sb = new StringBuffer();
try {
while (in.read(buf) != -1) {
sb.append(new String(buf, charset));
}
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
}

⑼ 如何用java程序启动远程的linux服务

你得明白,启动远程的服务,首先得连接到服务器上去。
下面有两种方法:1、通过自定义程序;
2、使用现成的telnet或ssh(推荐)

方法1、首先得看linux服务器的限制,如果服务器允许自定义的登录,
并且你在服务器上运行了一个监听某端口(如1234)的程序,
写一个client端,用socket连接上去,就可以执行了。

方法2、如果服务器支持ssh或者telnet登录,且
允许远程执行脚本的话,可以直接登录进去(当然这算是
使用现成的程序吧,ssh更安全,不过或许不是你想要的。)

有现成的ssh服务,直接使用就是了,自己写的肯定没这个安全~~
要用java的话,应该也有现成的ssh客户端---

⑽ 如何在java程序中调用linux命令或者shell脚本

//实现远程连接Connectionconn=newConnection(scpAddr,Integer.parseInt(scpPort));conn.connect();//连接logger.debug("登陆远程服务器:"+scpUserName+","+scpPassword);//登陆远程服务器的用户名密码booleanisAuthed=conn.authenticateWithPassword(scpUserName,scpPassword);//登陆失败if(!isAuthed){logger.debug("登陆远程服务器失败");returnfalse;}SessionsshSession=conn.openSession();logger.debug("cd/&&rm-f"+file+"&&pwd");//linux命令sshSession.execCommand("cd/&&rm-f"+file+"&&pwd");//执行sshSession.close();conn.close();