[SVN]:如何备份存储库?

RPK*_*RPK 1 svn

如果存储库包含在文件夹中,是否足以备份该文件夹而不是键入命令来创建转储?

Joe*_*oey 6

这在Subversion Book中有详细描述:

就完整备份而言,天真的方法似乎是一种理智的方法,但除非您暂时禁用对存储库的所有其他访问,否则仅执行递归目录复制就有产生错误备份的风险。对于 Berkeley DB,文档描述了可以复制数据库文件的特定顺序,以保证有效的备份副本。FSFS 数据也存在类似的排序。但是您不必自己实现这些算法,因为 Subversion 开发团队已经这样做了。该svnadmin的制作即时拷贝命令需要参与制作一个版本库的热备份的细节的照顾。它的调用与 Unix cp或 Windows复制操作一样简单:

$ svnadmin hotcopy /var/svn/repos /var/svn/repos-backup
Run Code Online (Sandbox Code Playgroud)

生成的备份是一个功能齐全的 Subversion 存储库,如果出现严重错误,可以将其作为实时存储库的替代品。

...

也可以使用围绕此命令的其他工具。Subversion 源代码分发的tools/backup/目录包含hot-backup.py脚本。此脚本在svnadmin hotcopy之上添加了一些备份管理允许您仅保留每个存储库的最新配置的备份数量。它将自动管理备份存储库目录的名称以避免与以前的备份冲突,并将“轮换”旧备份,删除它们以便只保留最新的备份。即使您也有增量备份,您可能希望定期运行此程序。例如,您可能会考虑使用来自程序调度程序的hot-backup.py(例如cron 在 Unix 系统上),这可能导致它每晚运行(或在您认为安全的任何时间粒度)。