目的:希望能够通过浏览器对某个linux服务器做控制。
方法:
首先要安装ruby,最简单的是yum install ruby
然后编辑一个文件放到任意目录下或者/root下
使用ruby里的webrick,示例如下:
然后,以root身份启动程序,很重要,然后 /root/web.rb即可
一个小问题是就算把任务放后台,仍然会不停的出现信息到控制台。但是不影响使用。
浏览器访问此http服务,使用
http://ip地址:2005/
即可,确保端口没有被别的程序占用,
想要在服务端停止时,
ps aux|grep web.rb
然后
kill -KILL 那个进程号
即可
方法:
首先要安装ruby,最简单的是yum install ruby
然后编辑一个文件放到任意目录下或者/root下
使用ruby里的webrick,示例如下:
#!/usr/bin/env ruby
require 'webrick'
include WEBrick
s = HTTPServer.new(
:Port => 2005 #http监听端口
)
class HelloServlet < HTTPServlet::AbstractServlet
def do_GET(req,res)
#要http输出到浏览器
res.content_type='text/html; charset=UTF-8'
# 重定向输出是很重要的操作
filename='/home/svn.log'
command='/usr/local/svn/bin/svn checkout svn://221.222.222.222/loupa /loupa > ' + filename
system(command) #这个例子是进行一个svn更新的操作,想要搞什么操作都放system里面
ss=''
File.open(filename,'r').each {|line|
ss = ss+ line+'<br>'
}
# system('rm -rf /err') # 甚至可以做这样的操作,可以放多个
# 以下是显示给操作者看的
res.body=%{
<html>
<head>
<title>web操作</title>
</head>
<body>
#{ss}
<br><br><br>
web操作完毕<br>
</body>
</html>
}
end
end
s.mount('/', HelloServlet) #设定url,也可以是/svn等,客户端访问跟着变
trap("INT"){s.shutdown}
s.start
然后,以root身份启动程序,很重要,然后 /root/web.rb即可
一个小问题是就算把任务放后台,仍然会不停的出现信息到控制台。但是不影响使用。
浏览器访问此http服务,使用
http://ip地址:2005/
即可,确保端口没有被别的程序占用,
想要在服务端停止时,
ps aux|grep web.rb
然后
kill -KILL 那个进程号
即可