今天介绍一个http远程控制台工具。所谓http控制台,就是通过http的方式,从客户端远程发送控制指令给服务端,服务端执行控制指令后,把结果返回给客户端。
基于http协议的远程操作一般会由客户端通过浏览器发送http请求给http服务端;服务端根据URL传来的参数,转换为指令执行不同的处理逻辑,然后把执行结果用页面的形式或者某种数据封装返回给客户端,这样的处理是比较常见的。这种处理方式的缺点是扩充不方便,如果作为工具使用不够灵活。
现在介绍的这个http控制台,可以像操作本机一样,把任意的控制台命令(只要在服务端可以执行的)传递到服务端执行。
在服务端解压文件后(目录中不要有空格),执行httpConsole.exe。这是http服务端,默认打开8077端口。如下图:
在客户端浏览器(测试使用的是360浏览器6)地址栏输入http://服务器IP:8077/后,显示控制台界面如下图:
界面非常简单,只有两个按钮可以点击,一个是最大化按钮,一个是执行按钮。上面的文本框用来输入控制台指令,下面的文本框可以看到指令执行后返回的结果。可以输入dir命令试一下效果。我们输入个耗时比较长的指令看看吧,比如tree
C:,点击“执行”按钮后,显示如下图:
当然了,上面返回的Tree目录结构,是服务器上的结构了。可以输入控制台指令“net
start”直接启动服务端的某个服务。如下图所示,输入“net
start”指令,列出了服务端已经启动的服务名称,没看明白的同学查一下windows的命令。
上面输入的两个命令都只有几个字符,如果需要输入一大段指令,该怎么样呢?下面我们输入长一些的指令看看效果。以下是一段导出Oracle数据库的脚本(你看明白了吗,注意看注释):
@echo off
::根据当前的日期时间,生成导出的文件名,日志名和目录
set time_=%time:~0,2%&call set time_=%%time_: =0%%
@set
dmpFileName=PDMT.SCHEMAS.127.0.0.1.�te:~0,4%�te:~5,2%�te:~8,2%%time_%%time:~3,-6%.dmp
@set
logFileName=PDMT.SCHEMAS.127.0.0.1.�te:~0,4%�te:~5,2%�te:~8,2%%time_%%time:~3,-6%.log
@echo 正在备份数据,请不要关闭!
@echo off
expdp pt6/cape@pdmt
dumpfile=%dmpFileName%
logfile=%logFileName% schemas=(pt6,cmt) directory=expdp_dir
job_name=pdmt_job
@echo off
我们执行这一大段脚本看看效果:
可以看到,数据库备份已经开始了,并随着命令的执行,不断把执行结果返回到客户端来。从下图可以看出,数据表已经导出了。
OK,这个http远程控制台是不是挺好用的呢?一键部署,用起来也还方便。但是注意哦,它没有做任何安全性方面的控制,format C:
和 shutdown s 这样的指令也是可以被执行的哦。