我们这里有一台SVN服务器,多年来已经累积了数十万次修订,并且大小达到了> 40 GB。我们想在存储库上进行连续备份,但每次将整个存储库转储或复制到我们的备份服务器只需要很长时间。
有没有办法自动将存储库的最新修订版添加到现有转储文件中?我知道使用--incremental
选项可以手动完成,但我想知道是否有一个基本上如此工作的命令:
svnadmin dump repo --revision dumpfile_latest:repo_latest --incremental >> dumpfile
此处dumpfile_latest
将是备份的最新修订版本(名为dumpfile
)的修订版号,repo_latest
将是我备份的存储库的最新版本号(命名为repo
{{1}})。谢谢你的任何建议!
答案 0 :(得分:2)
您考虑过rsync吗?
答案 1 :(得分:2)
我目前正在使用此设置。我们使用客户托管的SVN服务器,有时会遇到一些连接问题。我们还想确保我们有一份本地副本。我们在本地设置SVN repo,然后运行由于持续集成服务而执行的svnsync命令,以将来自远程仓库的更改同步到本地镜像。您可以阅读有关svnsync命令here的更多信息。这会生成repo的精确副本,因为它基本上会将变更集回放到镜像中。这对我们也有帮助,因为如果连接“发出”返回,我们有一个只读仓库可以从中拉出工作副本继续工作直到恢复连接(你可以做一个svn开关/重定位来解决镜像问题主人下来了)。这可能比你想要的更复杂,但我喜欢我们的设置,它不止一次地保存了我的培根。想我会分享一个选项。祝你好运