VisualSVN-Server-2.1.5SVN远程备份手册
更新时间:2023-06-02 10:40:01 阅读量: 实用文档 文档下载
下面介绍利用两个命令svnsync来同步版本库,达到备份版本库的目的要用到两个命令1)svnsync init初始化,建立目标库和源库之间的同步关系命令格式: svnsync init 目标库URL 源库URL2) svnsync sync真正的同步命令格式 svnsync sync 目标库URL本次实现的是版本库的远程自动备份,将版本库备份到另一台机器上假设我们要同步的源版本库为 http://192.168.1.210/svn/svnprojec位于机器A,具体路径我们不必理会。
远程备份简单操作
远程备份简单操作
>
版本:1.3 发布日期:2010-11-2 实施日期:2010-11-2
下面介绍利用两个命令svnsync来同步版本库,达到备份版本库的目的要用到两个命令1)svnsync init初始化,建立目标库和源库之间的同步关系命令格式: svnsync init 目标库URL 源库URL2) svnsync sync真正的同步命令格式 svnsync sync 目标库URL本次实现的是版本库的远程自动备份,将版本库备份到另一台机器上假设我们要同步的源版本库为 http://192.168.1.210/svn/svnprojec位于机器A,具体路径我们不必理会。
修订记录
目 录
下面介绍利用两个命令svnsync来同步版本库,达到备份版本库的目的要用到两个命令1)svnsync init初始化,建立目标库和源库之间的同步关系命令格式: svnsync init 目标库URL 源库URL2) svnsync sync真正的同步命令格式 svnsync sync 目标库URL本次实现的是版本库的远程自动备份,将版本库备份到另一台机器上假设我们要同步的源版本库为 http://192.168.1.210/svn/svnprojec位于机器A,具体路径我们不必理会。
修订记录 ............................................................................................................................................2 1. 1.1. 1.2. 1.3. 1.4. 1.5. 2. 3. 4. 5. 6. 7. 7.1.
同步备所需要的命令 .................................................................................................4 Svnsyn ................................................................................................................................4 目标 ....................................................................................................................................4 过程 ....................................................................................................................................4 初始化 ................................................................................................................................5 同步 ....................................................................................................................................6
具体操作操作流程概括 .............................................................................................8 遇到的问题与解决方法 .............................................................................................8 Subversion同步工具svnsync出错 ........................................................................9 使用svnsync备份很简单,步骤如下 .....................................................................9 注意事项 ..................................................................................................................12 关于svnsync备份时出现的问题解析 ...................................................................12 问题一 ..............................................................................................................................12
7.1.1. 问题描述 ..........................................................................................................................12 7.1.2. 解决方案 ..........................................................................................................................13 7.2.
问题二 ..............................................................................................................................13
7.2.1. 问题描述 ..........................................................................................................................13 7.2.2. 解决方案 ..........................................................................................................................13
下面介绍利用两个命令svnsync来同步版本库,达到备份版本库的目的要用到两个命令1)svnsync init初始化,建立目标库和源库之间的同步关系命令格式: svnsync init 目标库URL 源库URL2) svnsync sync真正的同步命令格式 svnsync sync 目标库URL本次实现的是版本库的远程自动备份,将版本库备份到另一台机器上假设我们要同步的源版本库为 http://192.168.1.210/svn/svnprojec位于机器A,具体路径我们不必理会。
1. 同步备所需要的命令
1.1. Svnsyn
下面介绍利用两个命令svnsync来同步版本库,达到备份版本库的目的要用到两个命令
1)svnsync init
初始化,建立目标库和源库之间的同步关系
命令格式: svnsync init 目标库URL 源库URL
2) svnsync sync 真正的同步
命令格式 svnsync sync 目标库URL
1.2. 目标
本次实现的是版本库的远程自动备份,将版本库备份到另一台机器上
假设我们要同步的源版本库为 http://192.168.1.210/svn/svnprojec位于机器A,具体路径我们不必理会,因为我们使用http协议
目标库在机器B, file:///F:/Repositories/svnproject,这个为了简单和安全,我们使用file://协议
1.3. 过程
1)创建pre-revprop-change.bat文件:即复制pre-revprop-change.tmpl ,将其扩展名改为pre-revprop-change.bat,并且清空原有的所有内容、保存。如下图所示:
下面介绍利用两个命令svnsync来同步版本库,达到备份版本库的目的要用到两个命令1)svnsync init初始化,建立目标库和源库之间的同步关系命令格式: svnsync init 目标库URL 源库URL2) svnsync sync真正的同步命令格式 svnsync sync 目标库URL本次实现的是版本库的远程自动备份,将版本库备份到另一台机器上假设我们要同步的源版本库为 http://192.168.1.210/svn/svnprojec位于机器A,具体路径我们不必理会。
2)修改目标库的脚本pre-revprop-change 进入F:/svn/svnproject/hooks/
cd /svn/svnproject/hooks/ 打开后末尾字段如下:
REPOS="$1" REV="$2" USER="$3" PROPNAME="$4" ACTION="$5" if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi echo "Changing revision properties other than svn:log is prohibited" >&2 exit 1,原脚本的意思是如果修改的是svn:log属性,将允许修改,返回0;否则,不允许,返回1,我们要将它改为允许修改所有的属性,在脚本中直接返回0,新的脚本如下:exit 1 exit 0即可。
1.4. 初始化
在机器B上输入命令:
在DOS命令的cd C:\Program Files\VisualSVN Server\bin根目录下输入:
svnsync init (有空格)
下面介绍利用两个命令svnsync来同步版本库,达到备份版本库的目的要用到两个命令1)svnsync init初始化,建立目标库和源库之间的同步关系命令格式: svnsync init 目标库URL 源库URL2) svnsync sync真正的同步命令格式 svnsync sync 目标库URL本次实现的是版本库的远程自动备份,将版本库备份到另一台机器上假设我们要同步的源版本库为 http://192.168.1.210/svn/svnprojec位于机器A,具体路径我们不必理会。
会提示输入用户名和密码,这里提供的用户名和密码是可以完全读取于
的计算机密码,用户名和密码,,即如下图:
1.5. 同步
1) svnsync sync
依然会提示输入用户名和密码,不过,你可以在这个命令之后加上 username 、password参数,在目录:C:\Program Files\VisualSVN Server\bin下
输入:svnsync sync file:///F:/Repositories/svnproject --username username --password password
如下图所示:
下面介绍利用两个命令svnsync来同步版本库,达到备份版本库的目的要用到两个命令1)svnsync init初始化,建立目标库和源库之间的同步关系命令格式: svnsync init 目标库URL 源库URL2) svnsync sync真正的同步命令格式 svnsync sync 目标库URL本次实现的是版本库的远程自动备份,将版本库备份到另一台机器上假设我们要同步的源版本库为 http://192.168.1.210/svn/svnprojec位于机器A,具体路径我们不必理会。
(Transmitting:正在进行传送,传输) 如上截图所示,会一直走下去直至目标库与源库的版本号完全一致为止;
2) 同步结束后,如下图所示:
下面介绍利用两个命令svnsync来同步版本库,达到备份版本库的目的要用到两个命令1)svnsync init初始化,建立目标库和源库之间的同步关系命令格式: svnsync init 目标库URL 源库URL2) svnsync sync真正的同步命令格式 svnsync sync 目标库URL本次实现的是版本库的远程自动备份,将版本库备份到另一台机器上假设我们要同步的源版本库为 http://192.168.1.210/svn/svnprojec位于机器A,具体路径我们不必理会。
到这一步时,SVN远程备份就已经完成了,如果版本库较大时,备份的时间可能会有点慢,要有耐心,用一天也是有可能的,你可以打开目标库看看,和源库是一样的。
注意:应该定期的一周或者两周打开命令窗口输入:svnsync sync file:///F:/ 已达到定期同步的目的。
2. 具体操作操作流程概括
1、在要备份的机器上建立版本库:svnadmin create svn 2、进入hooks目录:cd svn/svnproject/hooks/
3、创建pre-revprop-change.bat文件:复制pre-revprop-change.tmpl ,将扩展名改为pre-revprop-change.bat,并且清空原有的所有内容,保存。
4、修改文件: pre-revprop-change文件,
为 echo “Changing revision properties other than svn:log is prohibited” >&2 exit 0(1修改为0即可)
6、同步初步: svnsync init
http://192.168.2.235:8081/svn/svnproject svnsync: Destination repository is already synchronizing from svn://10.10.10.1′
7、实现同步:
svnsync sync –username username –password password1
3. 遇到的问题与解决方法
Svnsync:Cannot initialize(初始化) a repository with content in it :当版本库有内容时不能初始化
如果反复操作都是同样错误的话,很可能是你版本库有内容,需要你版本库svn,重新按照
下面介绍利用两个命令svnsync来同步版本库,达到备份版本库的目的要用到两个命令1)svnsync init初始化,建立目标库和源库之间的同步关系命令格式: svnsync init 目标库URL 源库URL2) svnsync sync真正的同步命令格式 svnsync sync 目标库URL本次实现的是版本库的远程自动备份,将版本库备份到另一台机器上假设我们要同步的源版本库为 http://192.168.1.210/svn/svnprojec位于机器A,具体路径我们不必理会。
svn服务器的安装手册里SVN与apache的集成来重新新建版本库。
4. Subversion同步工具svnsync出错
在使用svnsync同步两个版本库时经常出现如下的错误,并自动中断了同步操作:
Copied properties for revision 461.
svnsync: Server sent unexpected return value (502 Bad Gateway) in response to PR OPFIND request for /svn/!svn/vcc/default
当再次运行svnsync sync file:///F:/Repositories/svnproject时,有可能出现“Failed to get lock on destination repos”的错误信息,使同步操作无法继续进行: F:\Subversion> svnsync sync Failed
to
get
lock
on
destination
repos,
currently
held
by
firehack:963c0909-45ad-644f-b383-7e35d445028f ……
Failed to get lock on destination repos, currently held by firehack:963c0909-45ad-644f-b383-7e35d445028f
svnsync: Couldn t get lock on destination repos after 10 attempts 解决办法:
删除SVN仓库修订号0 svn:sync-lock的保护.
svn propdel svn:sync-lock --revprop -r 0 file:///F:/Repositories/svnproject
5. 使用svnsync备份很简单,步骤如下
一、 在备份机上创建一个空库:svnadmin create svn
二、更改该库的钩子脚本pre-revprop-change(因为svnsync要改这个库的属性,也就是要将源库的属性备份到这个库,所以要启用这个脚本):
下面介绍利用两个命令svnsync来同步版本库,达到备份版本库的目的要用到两个命令1)svnsync init初始化,建立目标库和源库之间的同步关系命令格式: svnsync init 目标库URL 源库URL2) svnsync sync真正的同步命令格式 svnsync sync 目标库URL本次实现的是版本库的远程自动备份,将版本库备份到另一台机器上假设我们要同步的源版本库为 http://192.168.1.210/svn/svnprojec位于机器A,具体路径我们不必理会。
cd F:/svn/svnproject/hooks;
cp pre-revprop-change.tmpl pre-revprop-change; chmod 755 pre-revprop-change; vi pre-revprop-change;
将该脚本后面的三句注释掉,或者干脆将它弄成一个空文件。 三、初始化,此时还没有备份任何数据:
svnsync init
语法是:svnsync init {你刚创建的库url} {源库url} 注意本地url是三个斜杠的:/// 四、开始备份:
svnsync sync file:///F:/svn/svnproject 这时就一个个版本进行备份了。 附录: 可能的报错一:
Failed to get lock on destination repos, currently held by ':0c424c20-2e3b-0410-bd34-7fdd53c25d02'
Failed to get lock on destination repos, currently held by ':0c424c20-2e3b-0410-bd34-7fdd53c25d02'
Failed to get lock on destination repos, currently held by ':0c424c20-2e3b-0410-bd34-7fdd53c25d02'
Failed to get lock on destination repos, currently held by ':0c424c20-2e3b-0410-bd34-7fdd53c25d02'
Failed to get lock on destination repos, currently held by ':0c424c20-2e3b-0410-bd34-7fdd53c25d02'
Failed to get lock on destination repos, currently held by ':0c424c20-2e3b-0410-bd34-7fdd53c25d02'
下面介绍利用两个命令svnsync来同步版本库,达到备份版本库的目的要用到两个命令1)svnsync init初始化,建立目标库和源库之间的同步关系命令格式: svnsync init 目标库URL 源库URL2) svnsync sync真正的同步命令格式 svnsync sync 目标库URL本次实现的是版本库的远程自动备份,将版本库备份到另一台机器上假设我们要同步的源版本库为 http://192.168.1.210/svn/svnprojec位于机器A,具体路径我们不必理会。
Failed to get lock on destination repos, currently held by ':0c424c20-2e3b-0410-bd34-7fdd53c25d02'
Failed to get lock on destination repos, currently held by ':0c424c20-2e3b-0410-bd34-7fdd53c25d02'
Failed to get lock on destination repos, currently held by ':0c424c20-2e3b-0410-bd34-7fdd53c25d02'
Failed to get lock on destination repos, currently held by ':0c424c20-2e3b-0410-bd34-7fdd53c25d02'
svnsync: Couldn't get lock on destination repos after 10 attempts 这个时候可能属性被锁了,删掉属性:
svn propdel svn:sync-lock --revprop -r0 如下截图所示:
删除成功后,再试一遍基本就可以了。
下面介绍利用两个命令svnsync来同步版本库,达到备份版本库的目的要用到两个命令1)svnsync init初始化,建立目标库和源库之间的同步关系命令格式: svnsync init 目标库URL 源库URL2) svnsync sync真正的同步命令格式 svnsync sync 目标库URL本次实现的是版本库的远程自动备份,将版本库备份到另一台机器上假设我们要同步的源版本库为 http://192.168.1.210/svn/svnprojec位于机器A,具体路径我们不必理会。
如果反复操作都是同样错误的话,有可能是你的svn安装有问题,重新安装一遍就好了,我试过的。
可能报错二、
svnsync: REPORT request failed on ' '
svnsync: The requested report is unknown.
这是因为svn源库的版本太低了,svnsync所需要的函数Report是svn1.4后加入的,只能对你的库进行升级后才能备份。
svn proplist -v --revprop -r0 https:///svn
svn proplist -v --revprop -r0 svnsync sync
6. 注意事项
据本人总结,上述方式的备份,需要注意的是:
1) 在备份服务器上不能进行任意操作,只能打开,不能增删改动! 2) 要定期备份;
Dos 命令输入:Svnlook author –r 5387 F:/svn/svnproject 会显示作者:
7. 关于svnsync备份时出现的问题解析
7.1. 问题一
7.1.1. 问题描述
使用svnsync进行备份的过程中突然断了下电,再次启动后进行备份时就出现这“svnsync:Malformed file”提示。
下面介绍利用两个命令svnsync来同步版本库,达到备份版本库的目的要用到两个命令1)svnsync init初始化,建立目标库和源库之间的同步关系命令格式: svnsync init 目标库URL 源库URL2) svnsync sync真正的同步命令格式 svnsync sync 目标库URL本次实现的是版本库的远程自动备份,将版本库备份到另一台机器上假设我们要同步的源版本库为 http://192.168.1.210/svn/svnprojec位于机器A,具体路径我们不必理会。
7.1.2. 解决方案
svnsync:Malformed file意思是文件格式损坏,svnsync无法判断目标是否有效的svn库。解决办法可以试一下:将svn库下面的几个文件拷贝过去覆盖掉;或者是重新进行svnsync初始化。
7.2. 问题二
7.2.1. 问题描述
在初始化过程中再运行初始化的时候出现如下的错误是什么原因呢?: D:\Program Files\Subversion\bin>svnsync init file:///e:/svn/Huigu-JXZHX http://1 92.168.1.164/svn/Huigu-JXZHX
svnsync: 钩子“pre-revprop-change”失败,错误输出是: 'REPOS' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
'REV' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
'PROPNAME' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
'ACTION' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
此时不应有 "$ACTION",
7.2.2. 解决方案
用户应该只是把原来文件中的最后一行“exit 1 ”替换成了“exit 0”所以就出问题了,正确的是把原来整个文件就剩下“exit 0” 。
补充:Linux下还需设置脚本文件pre-revprop-change的属性为可执行,即: chmod +x pre-revprop-change
Windows下所有文件默认即为可执行,不用设置。 另外:在Linux下脚本的第一行应保留 #!/bin/sh
正在阅读:
VisualSVN-Server-2.1.5SVN远程备份手册06-02
学生成绩管理系统详细设计-冰锋04-18
输油气管道2静电产生与防护04-23
九年级化学下册:第十单元 - 酸和碱单元测试(人教新课标版)12-19
写字楼市场现状与发展趋势预测11-28
四年级语文下第一单元04-01
改革开放三十年大事记10-11
小户型装修注意事项08-05
第九章 合同法律制度--练习题04-28
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 备份
- VisualSVN
- 远程
- 手册
- Server
- 2.1
- SVN
- 2013个人搜集优秀申论范文(有点评分析)-直接打印
- 多层物流仓库盘道线形设计
- 自主招生个人陈述自荐信优秀范文
- 4729_大学语文(专)_课后题答案
- 做好经理助理工作的方法及要求
- 05级郑州大学组成原理试卷A答案
- 高三优秀读后感范文:奔向荒野读后感800字
- 4.9 建筑保温、隔热构造
- 施工技术总结(城市阳光花园)
- 媒体的优质课——初中英语教学案例
- 山东事业单位招聘考试试题《公共基础知识》冲刺模拟试题及答案一Microsoft Word 文档
- 定向井常用钻具组合
- 【新年短信新春拜年语】
- 期中考试后的教学反思
- 北京大学网络教育学院无机化学课程作业4-2
- 制作电子贺卡--图像合成
- 某某水泥厂质量手册
- 设计思维课堂笔记
- 2015-2020年中国高分子义齿材料行业市场深度调研及投资战略咨询报告
- 调整区角活动的材料投放