目的:希望能够通过浏览器对某个linux服务器做控制。
方法:
首先要安装ruby,最简单的是yum install ruby
然后编辑一个文件放到任意目录下或者/root下
使用ruby里的webrick,示例如下:
#!/usr/bin/env rubyrequire 'webrick'include WEBricks = 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> } endends.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 那个进程号
即可