`
san_yun
  • 浏览: 2639456 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

用svnsync 同步备份

    博客分类:
  • svn
 
阅读更多

本文介绍利用svn sync来同步版本库,达到备份版本库的目的

要用到两个命令
1、svnsync init
初始化,建立目标库和源库之间的同步关系
命令格式 svnsync init 目标库URL 源库URL
2、svnsync sync
真正的同步
命令格式 svnsync sync 目标库URL
目标:
本次实现的是版本库的远程自动备份,将版本库备份到另一台机器上
假设我们要同步的源版本库为 http://192.168.0.1/svn/proj1 位于机器A,具体路径我们不必理会,因为我们使用http协议
目标库在机器B,file:///svn/proj1,这个为了简单和安全,我们使用file://协议
过程:
1、在机器B上,创建目标库
mkdir /svn
svnadmin create /svn/proj1
2、修改目标库的脚本pre-revprop-change
进入/svn/proj1/hooks/
cd /svn/proj1/hooks/
cp pre-revprop-change.tmpl  pre-revprop-change
vi pre-revprop-change
    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 0;
3、初始化
svnsync init file:///svn/proj1 http://192.168.0.1/svn/proj1
会提示输入用户名和密码,这里提供的用户名和密码是可以完全读取http://192.168.0.1/svn/proj1的用户名和密码
4、同步
svnsync sync file:///svn/proj1

依然会提示输入用户名和密码,不过,你可以在这个命令之后加上 username 、password参数,
例如svnsync sync file:///svn/proj1 --username username --password password

 

 

报错解决方案:

svnsync: 版本属性改变 被 pre-revprop-change 钩子阻塞(退出代码 255) 没有输出。


chmod u+x  hooks/pre-revprop-change

分享到:
评论

相关推荐

    svnsync同步增量备份

    ### svnsync同步增量备份详解 #### 一、概述 Subversion (SVN) 是一个广泛使用的版本控制系统,被众多开发团队用于管理源代码。在实际应用中,为了确保数据的安全性和系统的稳定性,通常需要对 SVN 仓库进行备份。...

    利用svnsync同步SVN版本库

    利用svnsync同步SVN版本库,将之前主库上的SVN数据迁移到VisualSVN上,然后在实现版本库的远程自动备份,版本库备份到另一台机器上。

    svn定时同步备份.txt

    ### SVN定时同步备份知识点 #### 一、SVN同步备份概念 Subversion(简称SVN)是一种开源的版本控制系统,广泛应用于软件开发过程中对代码进行版本控制与管理。SVN同步备份是指通过一定的机制实现主版本库(源库)与...

    SVN双机同步备份

    4. 执行同步svnsync sync:使用svnsync sync命令来同步备份机的代码仓库与源代码的变化。 源机配置 1. 创建post-commit.bat文件:在hooks目录下创建一个名为post-commit.bat的文件,用于触发每次提交代码后的同步...

    svnsync.sh svnhotcopy_daily.sh svn 备份

    通过`svnsync init`命令设置源仓库和目标仓库的同步关系,然后使用`svnsync sync`来执行同步操作。`svnsync`支持单向同步,即从源仓库到目标仓库,且具有幂等性,即使在同步过程中发生中断,也能在下次同步时继续从...

    SVNsync配置库同步说明

    ### SVNsync配置库同步知识点详解 ...以上是关于如何使用SVNsync进行SVN仓库之间的同步操作的详细介绍。通过遵循这些步骤,您可以高效地实现数据的同步迁移,从而提高工作效率并确保数据的安全性。

    svn服务用svnsync命令双机热备

    ### SVN服务用svnsync命令实现双机热备 #### 概述 在软件开发过程中,版本控制系统(Version Control System, VCS)是必不可少的工具之一。Subversion(SVN)作为一款广受欢迎的集中式版本控制系统,在企业级项目...

    SVN_自动同步备份环境搭建笔记

    ### SVN自动同步备份环境搭建知识点 #### 一、SVN自动同步备份概念 - **主版本库(Master Repository)**:指活动的读/写版本库,是日常开发的主要存储库。 - **镜像版本库(Mirror Repository)**:与主版本库...

    linux下\svn备份与同步

    初始化同步使用 `svnsync init` 命令,将本地仓库(file:///svn/proj1)与远程仓库(http://192.168.0.1/svn/proj1)关联。在这个过程中,你需要提供可以完全读取远程仓库的用户名和密码。 同步仓库则通过 `svnsync...

    LINUX SVN双机热备份shell脚本 附配置文档

    - 使用`svnsync sync`定期同步,可以结合`cron`定时任务来自动化这个过程。 - 错误检查和处理,确保同步过程中出现的问题能够被记录并解决。 - 可能还会包含服务器状态检查,以判断何时进行主从切换。 4. **主从...

    windows下svn异地备份与还原

    然后,定期运行`svnsync sync`命令来保持备份仓库与源仓库同步: ``` svnsync sync file:///D:\path\to\backup ``` svnsync在Windows环境下可能需要配置好proxy环境变量,以便通过网络连接到远程仓库。 异地...

    实现VisualSVN Server主从同步备份.pdf

    6. 在从服务器上用命令行初始化库,命令为svnsync init ***\Repositories\test ***。 7. 在从服务器上执行全局同步命令,命令为svnsync sync ***。这个命令只需运行一次,如果从服务器与主服务器版本不一致时,再...

    SVN服务器几种备份策略.docx

    svnsync同步**: - 配置svnsync服务,设置源库和目标库,使用`svnsync initialize`初始化同步,然后定期使用`svnsync sync`命令保持同步。 在实施这些备份策略时,应考虑以下因素: - **备份频度**:根据业务需求...

    svn代码库如何备份到本地

    完成以上准备后,可以使用`svnsync`工具将远程SVN仓库同步到本地备份目录中。`svnsync`是一个用于在两个SVN仓库之间复制数据的工具,它可以实现增量同步,即只同步自上次同步以来发生改变的数据。 **操作命令**: 1...

    svn远程备份

    比如,使用Subversion同步工具svnsync出错时,可能会出现"Failed to get lock on destination repos"的错误。这种情况下,需要按照相应的解决方法进行操作。 知识点六:注意事项 在进行svn远程备份的过程中,有一些...

    SVN远程备份简单操作手册.pdf

    - 使用`svnsync`工具进行远程备份。这是一个用于镜像一个Subversion仓库到另一个仓库的工具,通常用于创建备份或者创建镜像仓库。 - `svnsync initialize`命令初始化同步源和目标仓库的关系。 - `svnsync sync`...

    SVN远程备份简单操作手册[收集].pdf

    同步备份命令 `svnsync`是SVN的一个内置工具,用于镜像一个远程仓库到本地。基本的同步命令格式为: ``` svnsync init [destination_url] [source_url] svnsync sync [destination_url] ``` 初始化同步后,使用`...

    SVN 冷备方式

    - 使用`svnsync sync`命令进行同步备份: ``` svnsync sync file:///home/svn/bss ``` - **定时器**: - 使用`crontab`设置定时任务: - 编辑`crontab`: ``` crontab -e ``` - 每天早上六点执行备份任务: ``...

Global site tag (gtag.js) - Google Analytics