java如何执行远程服务器上的.sh文件

java如何执行远程服务器上的.sh文件,第1张

你可以使用JSch

JSch全称是“Java Secure Channel”

是SSH2的一个纯Java实现。它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文件传输等等。同时也是支持执行命令;

以下是大概运行的代码,只是提供大致思路,可以去查官方API和demo

import comjcraftjschChannelExec;
import comjcraftjschChannelSftp;
import comjcraftjschChannelSftpLsEntry;
import comjcraftjschJSch;
import comjcraftjschJSchException;
import comjcraftjschSession;
import comjcraftjschSftpATTRS;
import comjcraftjschSftpException;


try{
Session session = new JSch()getSession(user, ip, port);
sessionsetPassword(pwd);
sessionsetConfig("StrictHostKeyChecking", "no");
sessionsetConfig("userauthgssapi-with-mic", "no");
sessionconnect();

ChannelExec exec = (ChannelExec) sessionopenChannel("exec");
execsetCommand("ifconfig");//这里是你要执行的命令,部分命令不支持,具体自己执行下
ByteArrayOutputStream bao = new ByteArrayOutputStream();
execsetOutputStream(bao);
ByteArrayOutputStream baerr = new ByteArrayOutputStream();
execsetErrStream(baerr);
execconnect();
while (!execisEOF())
;
String errmsg = new String(baerrtoByteArray(), "utf-8");
if (StringUtilsnotNull(errmsg)) {
throw new RuntimeException(errmsg);
} else {
Systemoutprintln(new String(baotoByteArray(), "utf-8"));
}
}catch(Exception e){
    eprintStackTrace();
}finally{
    //关闭session等 *** 作
}

*** 作顺序:1、打开本地终端,输入telnet命令:>> telnet 服务器ip输入用户名 密码 登陆成功2、转到oracle用户下,输入: >> su - oracle>> exp根据Oracle的exp命令提供的到处向导,导出用户需要的数据到dmp文件中 myxxxoutxxxdmp3、接下来是讲这个dmp文件传到本地两种方式 1、如果服务器端开启了ftpd 或者 sshd ,可以从本地连接过去,把dmp文件下载到本地重新打开一个本地终端>> ftp 服务器ip输入用户名 密码 登陆成功>> cd dmp文件目录的相对路径>> get myxxxoutxxxdmp2、如果本地服务器开启了相关服务 可以从服务器端上传dmp文件到本地>> cd dmp文件目录的路径>> ftp 服务器ip输入用户名 密码 登陆成功>> put myxxxoutxxxdmp最后就是本地库的导入了在终端中输入 imp 根据向导一步一步设置导入或者用开发工具帮助导入

Web服务器的基本功能就是提供Web信息浏览服务。它只需支持>

应用程序服务器(简称应用服务器),我们先看一下微软对它的定义:"我们把应用程序服务器定义为“作为服务器执行共享业务应用程序的底层的系统软件”。就像文件服务器为很多用户提供文件一样,应用程序服务器让多个用户可以同时使用应用程序(通常是客户创建的应用程序)"

通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理>

以JavaEE为例,Web服务器主要是处理静态页面处理和作为Servlet容器,解释和执行servlet/JSP,而应用服务器是运行业务逻辑的,主要是EJB、JNDI和JMXAPI等J2EEAPI方面的,还包含事务处理、数据库连接等功能,所以在企业级应用中,应用服务器提供的功能比WEB服务器强大的多。

以这样的定义,IIS、Apache、Tomcat都可以属于Web服务器,Weblogic、WebSphere都属于应用服务器。

Apache:在Web服务器中,Apache是纯粹的Web服务器,经常与Tomcat配对使用。它对HTML页面具有强大的解释能力,但是不能解释嵌入页面内的服务器端脚本代码(JSP/Servlet。

Tomcat:早期的Tomcat是一个嵌入Apache内的JSP/Servlet解释引擎ApacheTomcat就相当于IISASP。后来的Tomcat已不再嵌入Apache内,Tomcat进程独立于Apache进程运行。而且,Tomcat已经是一个独立的Servlet和JSP容器,业务逻辑层代码和界面交互层代码可以分离了。因此,有人把Tomcat叫做轻量级应用服务器。

IIS:微软早期的IIS,就是一个纯粹的Web服务器。后来,它嵌入了ASP引擎,可以解释VBScript和JScript服务器端代码了,这时,它就可以兼作应用服务器。当然,它与J2EE应用服务器根本无法相比,但是,从功能上说,从原理上说,它勉强可以称之为应用服务器。确切地说,它是兼有一点应用服务器功能的Web服务器。

综上:Apache是纯粹的web服务器,而Tomcat和IIS因为具有了解释执行服务器端代码的能力,可以称作为轻量级应用服务器或带有服务器功能的Web服务器。

简单的说,网页制作好后,网页文件将放在一台电脑上,这台电脑通常称为服务器,其他人在浏览器中输入网址时,就等于是对服务器说:“把某某页面文件给我看下”,于是服务器就去找那个页面并发给浏览器,浏览器将页面下载到临时文件夹中并显示出来,这样我们就看到网页了。 如果请求的是html这种静态页面时,服务器上基本不用执行什么的,直接扔给浏览器就可以了;如果请求的是asp,aspnet,php等动态页面时,服务器就要针对不同的语言做不同的处理,然后再给浏览器; 简单的说就是这样了,其实平时我们不必去关心服务器具体怎么执行,我们只要根据学的知识把页面做好传上去就可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13481716.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-15
下一篇 2023-08-15

发表评论

登录后才能评论

评论列表(0条)

保存