http方式更新svn(web.py)

subversion中更新版本库,shell执行 cd /home/htdocs/app; svn update。现在实现一个小需求,请求一地址即执行上述命令来更新svn。有两个功能:

(1)、程序监听地址
(2)、客户端请求地址后执行命令cd /home/htdocs/app; svn update

另外一种使用python+daemon+socketserver见后一篇文章 介绍。

下面用web.py框架实现的步骤:

1、框架安装

cd /usr/local/soft/
wget http://webpy.org/static/web.py-0.33.tar.gz
tar zxvf web.py-0.33.tar.gz
cd web.py-0.33
python setup.py install

2、编写代码

vi /usr/local/webpy/subversion_web.py
#!/usr/bin/env python

# ...

import web,os
render = web.template.render('templates/')

urls = (
     '/', 'index'
)
app = web.application(urls, globals())
class index:
    def GET(self):
        text = os.popen("cd /home/htdocs/app;svn update").read()
        print text
        return text

if __name__ == "__main__":
    app.run()

3、程序永远后台执行

nohup /usr/local/webpy/subversion_web.py &
exit

4、测试更新

http://192.168.1.36:8080/
显示为:
C    app/sitemap.xml
Updated to revision 32786.

参考文章:
linux程序永远后台运行
http://hi.baidu.com/addcn/blog/item/b4f7a98a1b086f739f2fb486.html?timeStamp=1296027087202

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。