Chinaunix首页 | 论坛 | 博客
  • 博客访问: 74781
  • 博文数量: 12
  • 博客积分: 1425
  • 博客等级: 上尉
  • 技术积分: 220
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-11 09:15
文章分类

全部博文(12)

文章存档

2011年(1)

2010年(3)

2008年(8)

我的朋友

分类:

2010-07-20 14:40:03

1、脚本名:sync_auto.sh
内容如下:
#!/bin/bash
#sync from XXX to
MODULES="SDO_pt KF_031csevent SDRS3.0_KF OSServer_KF safe_fk XMGLProj
monitoring_dev"
for module in $MODULES
do
  echo $module
  cd "/sync69/$module/hooks"
  chmod a+x  pre-revprop-change
  /usr/local/bin/svnsync sync
done
2、用crontab计划
crontab -e
0 2  * * * /home/svnroot/bin/sync_auto.sh >/home/svnroot/log 2>&1
注:遇到问题
问题1、log提示:permission denied
修改了脚本的权限chmod a+x /home/svnroot/bin/sync_auto.sh
问题2:log提示:/home/svnroot/sync_auto.sh: line 9: svnsync: command not
found
在svnsync前加上了路径,即“ /usr/local/bin/svnsync ”,解决。
问题3、
KF_031csevent
Failed to get lock on destination repos, currently held by
'scmserver:28fa4c84-6bb2-45fc
......
svnsync: Couldn't get lock on destination repos after 10 attempts
搜索到解决办法:http://blog.zxlm.cn/2009/02/subversion%E5%90%8C%E6%AD%
A5%E5%B7%A5%E5%85%B7svnsync%E5%87%BA%E9%94%99failed-to-get-lock-on-
destination-repos.html
删除SVN仓库修订号0  svn:sync-lock的保护.
[svnroot@scmserver sync69]$ svn propdel svn:sync-lock --revprop -r 0

property 'svn:sync-lock' deleted from repository revision 0
[svnroot@scmserver sync69]$ svnsync sync  --再次同步已没有问题。
4、同步脚本中加上了对用户文件的备份
scp
/sync69/htpasswd69
password:
passwd                                                100%   10KB 
 
后记:svnsync同步步骤:
1、建库
eg.
[svnroot@scmserver root]$ cd /sync69/
[svnroot@scmserver sync69]$ mkdir monitoring_dev
[svnroot@scmserver sync69]$ cd monitoring_dev/
[svnroot@scmserver monitoring_dev]$ svnadmin create .
2、修改hook
在目标库的hook 目录:项目名 目录下执行:
cp pre-revprop-change.tmpl  pre-revprop-change
chmod a+x  pre-revprop-change
vi  pre-revprop-change
修改:exit 1 为 exit 0
最后为:
-rwxrwxr-x  1 svnroot svnroot 2786 Jun 17 15:11 pre-revprop-change
3、同步
svn://源IP/monitoring_dev
svnsync sync  file:///sync69/monitoring_dev
注:
用户名与密码是访问源库的(原地址访问权限)
提示是否保存用户名密码,输入yes
4、设置库访问方式

   DAV svn
   SVNParentPath /sync69
   AuthType Basic
   AuthName "Subversion Repository"
   AuthUserFile /home/svnroot/apache/conf/htpasswd
   Require valid-user
   AuthzSVNAccessFile /sync69/authz
注:用户文件、权限文件也要准备好(权限文件因为路径问题,可能需要转换)
阅读(2629) | 评论(0) | 转发(0) |
0

上一篇:鸟哥shell script学习笔记

下一篇:继续python

给主人留下些什么吧!~~