文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>用crontab每天用svnsync同步库

用crontab每天用svnsync同步库

时间:2010-07-20  来源:echo_shu

1、脚本名:sync_auto.sh 内容如下: #!/bin/bash
#sync from XXX to file:///sync69
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 file:///sync69/$module
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
file:///sync69/KF_031csevent/
property 'svn:sync-lock' deleted from repository revision 0
[svnroot@scmserver sync69]$ svnsync sync  file:///sync69/KF_031csevent --再次同步已没有问题。
4、同步脚本中加上了对用户文件的备份 scp svnroot@源IP:/home/svnroot/repositories/projects/conf/passwd /sync69/htpasswd69
svnroot@源IP 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 目录:file:///sync69//项目名 目录下执行:
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、同步 svnsync init  file:///sync69/monitoring_dev  svn://源IP/monitoring_dev
svnsync sync  file:///sync69/monitoring_dev
注: 用户名与密码是访问源库的(原地址访问权限) 提示是否保存用户名密码,输入yes 4、设置库访问方式 <Location /sync69>
   DAV svn
   SVNParentPath /sync69
   AuthType Basic
   AuthName "Subversion Repository"
   AuthUserFile /home/svnroot/apache/conf/htpasswd
   Require valid-user
   AuthzSVNAccessFile /sync69/authz
</Location>
注:用户文件、权限文件也要准备好(权限文件因为路径问题,可能需要转换)
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载