linux Web控制台

前段时间做一个hadoop+Spark的性能监控页面时,需要一个web控制台远程登陆到master节点上去,后来发现这方面资料太少,于是自己参照着零散的东西修修改改,终于做出了一个简单的web shell,记录一下以免时间长了忘记。大概像这个样子的:

这样就可以在网页上直接访问linux服务器了,初衷是用来远程关闭正在运行的spark任务的,做发现出来之后一般的linux命令都能执行。

首先讲一下后台实现:

1.建立ssh连接,并定义一些流用于收发命令,由于篇幅只贴关键代码,源码在csdn里面。

2.其次定义是一个接收命令和返回结果的方法,因为linux每次返回一行,所以我这里存入List返回给前台处理。

3.页面后台调用前面初始化方法和执行命令的方法,这个方法叫getLinux(),主要是和前台页面交互。我在这个方法命名为linux,即@RequestMapping("/linux"),前台就可以通过linux.do识别了。

4.接下来看页面,页面很简单:主要是定义

列表来接收命令,因为发送的命令占一行,回来的结果为一行或多行,所以

列表很合适。

这是原来的页面中增加的一个模态框,通过按钮触发。当然也可以新建一个页面专门来做控制台,代码都一样,如图:

5.页面调用后台代码的部分都是一样的,linux.do就会调转到前面提到的getLinux()方法。

ok, 本文主要从后台到前台的顺序讲了如何实现一个简单web shell。

完。

我准备写一个公众号技术博客,回顾我学大数据以来的个人经验,希望和大家一起每天进步一点点!刚刚开始写,请大家多多支持,如有不足之处多多包含,最后多多关注哈哈哈。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180418G14ZZ100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券