http方式更新svn

目的:希望能够通过浏览器对某个linux服务器做控制。

方法:

首先要安装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 那个进程号

即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值