Skip to main content
 首页 » 编程设计

svn之优化 SVNAdmin 验证在 SVN

2025年05月04日128dyllove98

我在我工作的企业中的 SVN 服务器中有一个大型存储库。我需要每天验证此存储库的完整性,以检查 SGBD 是否存在某些不稳定或破裂。

我正在使用提示命令行“svnadmin path_to_my_repository”来验证我的存储库的完整性。

问题是:我的存储库怎么这么大(大约 23GB,28.029 次修订),这个操作需要很长时间才能完成。

问题是:我如何优化此操作以花费比实际花费的时间更少的时间?或者有其他方法可以用更少的时间来验证我的存储库的完整性?

一些额外信息:

  • 安装SVN Repository的操作系统为:Windows Server 2008
  • 我用来存储我的存储库的 SVN 服务器是:VisualSVN 服务器管理器 2.5.7
  • 命令“svnadmin path_to_my_repository”实际上需要大约 18~24 小时。
  • 请您参考如下方法:

    “svnadmin verify”命令接受几个不同的参数。其中之一是“--revision”。所以你应该为你拥有的每个存储库做些什么,找出一种方法来获取最近 N 天(如果每天运行,可能是最后 7 天)修改的修订列表,并且只验证这些。

    List of files changed since a certain date using SVN

    您仍然应该定期(每周?每月?)对整个存储库进行完整的“svnadmin 验证”。完整检查的频率应该是这样的,如果遇到问题,您可以从备份集中提取损坏的修订。

    或者,如果您正在使用“svnadmin hotcopy”并将该 hotcopy 推送到第二组主轴(或第二台服务器),您可以让 hotcopy 进行验证。这将消除主磁盘的负载。