21

我经常听说拥有 SVN 存储库并不会取消对备份的需求。

这种备份是如何完成的?我的意思是存储库会随着时间的推移而膨胀,不是吗?那么我每次都将其作为一个整体进行备份还是我该怎么做?

进行此类备份的最简单方法是什么?

4

5 回答 5

23

你可以使用svnadmin dump. 例如,要在 Linux 中创建压缩备份文件,请运行:

svnadmin dump -q /path/to/repo | bzip2 -9 > repo_backup.bz2

要恢复备份,请使用svnadmin load

svnadmin create /path/to/newrepo
bzip2 -cd repo_backup.bz2 | svnadmin load /path/to/newrepo

另请参阅SVN Book 中使用 svnadmin 进行存储库数据迁移。

于 2011-03-31T13:46:10.777 回答
22

我已经将svnadmin 与 hotcopy 一起使用

svnadmin hotcopy repopath backupdestination

您也可以使用svnadmin dump 命令

于 2011-03-31T13:46:04.793 回答
3

我使用了 post commit hook 来进行增量备份:

REM 版本备份

MD "C:\SVN 备份\增量\%TYPE%"

设置类型=2020

设置 ADMIN="C:\Program Files (x86)\WANdisco\uberSVN\bin\svnadmin.exe"

设置 ZIP="C:\Program Files\7-Zip\7z.exe"

%ADMIN% 转储 %REPOS% -r %REV% --incremental | %ZIP% a -si "C:\SVN 备份\增量\%TYPE%\%2.7z" -mmt -mx9

除了增量转储之外,我还有一个运行完整转储的每周批处理文件。有点矫枉过正,但所有转储文件都使用 7 Zip 命令行实用程序进行压缩。此后,它会同步到我们常用的备份媒体。

编辑- 用最新的代码更新了我使用 7 Zip 命令行实用程序压缩转储文件的位置以节省一些空间。

于 2013-08-05T16:12:08.887 回答
1

只需复制并压缩整个存储库文件夹,即可轻松返回到不同的时间点。当然,您必须确保在使用存储库时不要这样做,否则天知道会发生什么:)

在 Windows 上,您可以使用 VSS 来确保进行一致的备份或在晚上不使用时进行备份。

或者,检查这个类似的问题那个博客文章

于 2011-03-31T13:46:14.217 回答
1

我只是每周压缩一次存储库,然后将压缩文件复制到不同的存储位置。

于 2013-05-08T17:47:16.427 回答