美文网首页
SVN仓库自动备份方法

SVN仓库自动备份方法

作者: 宅男9号 | 来源:发表于2019-02-22 15:22 被阅读0次

目标

使用SVN进行版本管理时,有时会遇到意外情况导致版本库丢失造成巨大损失。比如硬盘坏了什么的。因此,需要将SVN仓库备份到其他机器。

SVN备份的方式很多。手动备份工作量很大,定时备份比较轻松也比较简单,但是感觉不太智能。我们要有追求,实现SVN仓库自动同步到备份仓库。

方法

实现方法分为两步:

  1. 搭建SVN备份仓库,并使用svnsync工具同步SVN仓库。
  2. 在SVN仓库中设置post-commit钩子,自动进行同步。

目标: 我们需要将存储在A机器上的SVN仓库同步到B机器上的SVN备份仓库。(实际上就是在B机器上搭建一个A机器上的SVN仓库的镜像)

具体操作方法如下:

  1. 使用VisualSVN在B机器上创建一个空的SVN仓库,作为SVN备份仓库。

  2. 在B机器上新建的SVN备份仓库上右键 -> Properties -> Hooks -> 选中Post-revision property change hook -> 点击左下方的Edit -> 在输入框中输入“exit 0” (镜像必须给SVN仓库足够大的更改权限)

  3. 初始化备份仓库。在A/B机器上执行:

    svnsync init [备份仓库地址] [A机器上的SVN仓库地址]
    

    可能还需要账号与密码,看情况解决。然后就静静等待初始化完成。完成后就可以看到备份仓库与源仓库一模一样啦

  4. 同步备份仓库。在A/B机器上执行:

    svnsync sync [备份仓库地址]
    

    就可以同步啦。可以尝试一下提交然后再同步。

  5. 设置自动同步。自动同步的原理是利用SVN的提交完成的钩子实现,在A机器上SVN仓库完成提交后执行同步命令,同步到B机器上的备份服务器去。

    打开A机器上的VisualSVN -> 在仓库上右键 -> Properties -> Hooks -> 选中Post-commit hook -> 点击左下方的Edit -> 在输入框中输入“svnsync sync [备份仓库地址]”

  6. 配置钩子执行权限。在A机器上计算机右键 -> 管理 -> 服务与应用程序 -> 服务 -> 找到VisualSVN Server并右键 -> 属性 -> 登录 -> 本地系统帐户 -> 允许服务与桌面交互 -> 确定

  7. 再次提交版本,这时,A 机器会提示有服务需要展示消息 -> 查看消息 -> 根据提示完成输入

注意: 这个方法目前只在A机器是win7的情况下测试通过。在win10上测试不通过,因为win10不会有交互消息展示出来。目前还没有找到解决办法。

至此就大功告成啦,以后每次提交版本到A 机器的SVN仓库时,都会自动提交到B 机器的SVN备份服务器啦。

相关文章

  • SVN仓库自动备份方法

    目标 使用SVN进行版本管理时,有时会遇到意外情况导致版本库丢失造成巨大损失。比如硬盘坏了什么的。因此,需要将SV...

  • SVN仓库备份

    Subversion提供仓库管理工具svnadmin,可以通过该命令来创建仓库,同时也提供仓库的维护功能。 svn...

  • SVN安装,web项目与svn同步

    安装 创建仓库 配置项目 启动SVN服务 使用SVN进行项目管理测试 设置web项目与svn自动同步

  • SVN仓库文件增量备份

    笔记基于window服务器,仅供自己参考 SVN增量备份 增量备份 增量备份脚本 编写serverCopy.bat...

  • windows下SVN备份方案

    windows下SVN备份方案 备份策略 svn备份一般采用三种方式: 注意,svn备份不宜采用普通的文件拷贝方式...

  • SVN命令行

    从svn仓库中取出 svn checkout svn://localhost/仓库名 svn加入版本控制 svn ...

  • 2019-05-23

    svn 和 gerrit 备份 svn 备份 在备份服务器上初始化repositorysvnadmin creat...

  • 备份SVN随笔

    备份svn svnadmin dump D:\svn\Repositories\Product > F:\svn\...

  • svn linux服务器搭建

    安装svn 创建仓库 创建文件夹 给文件夹赋予权限 创建svn仓库 配置svn仓库 在/var/svn/repo仓...

  • Mac SVN搭建

    首先cd到你想创建svn仓库的目标文件夹cd /.../svn创建svn仓库,仓库文件夹为名字为svn1svnad...

网友评论

      本文标题:SVN仓库自动备份方法

      本文链接:https://www.haomeiwen.com/subject/kseeyqtx.html