保证svn服务器和web服务器同步更新
文件服务器
为了可以在修改完代码提交到SVN服务器后,WEB服务器直接同步.需要配置SVN的钩子,打开版本库的hooks目录,可以看到有一个post-commit.tmpl文件,这是一个模板文件,复制一份放在此目录下,命名为post-commit里面原有的代码全部注释掉.这里可以执行shell命令,每次commit完成后都会调用此文件.
我的文件内容为
#!/bin/sh
exportLANG=zh_CN.GBK
/usr/bin/svnupdate--usernamesvn账户用户名--passwordsvn账户密码/var/www/linuxphp
说明:
#!/bin/sh说明是执行shell命令
exportLANG=zh_CN.GBK是为了解决svnpostcommit中文乱码,设置本地化编码,因为我的系统为GBK编码,SVN默认是UTF-8编码,如果不设置将会出现错误,而执行不成功,错误标识为svn:Can'tconvertstringfromnativeencodingto'UTF-8'
svn钩子使用说明:
/usr/bin/svnupdate--usernamekeminar--password123456/var/www/project执行更新操作
还有一些其它基本说明bbs.iusesvn.com/viewthread.php?tid=350&extra=&page=1
附加:调试时可以在linux服务器上checkout两个副本,在linux上调试,可以看到没有成功同步的错误信息.
附加步骤:
1、在库文件的hooks下新建post-commit文件。
2、在post-commit文件里添加
#!/bin/sh
SVN=/usr/local/subversion/bin/svn
WEB=/var/htmlwww/test
exportLANG=en_US.UTF-8
chmod-R777/usr/local/www
$SVNupdate--usernameuser--passwordPasswordfile:///usr/local/subversion/repos/web/$WEB
3、修改权限:
chown-Rdaemon.daemon/var/htmlwww/test
chmod-R777/var/htmlwww/test
chown-Rapache.apache/usr/local/subversion/repos/web/hooks/post-commit
chmod-R777/usr/local/subversion/repos/web/hooks/post-commit
注意:第一次更新需要先把数据库先检索出来,执行脚本./post.commit
#!/bin/sh
exportLANG=en_US.UTF-8
SVN=/usr/local/subversion/bin/svn
WEB=/www
$SVNcheckoutfile:///usr/local/subversion/repos/web/$WEB
Tags:文件服务器,保证svn服务器和web服务器同步更新
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。