我经常听说拥有SVN存储库并不能取消备份需求。
这样的备份是如何完成的?我的意思是存储库会随着时间的推移而膨胀,不是吗?所以我每次都要将它作为一个整体进行备份或者我该做什么?
进行此类备份的最简单方法是什么?
答案 0 :(得分:21)
答案 1 :(得分:21)
您可以使用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
答案 2 :(得分:3)
我已经使用post commit hook进行增量备份:
REM备份修订
MD“C:\ SVN Backup \ Incremental \%TYPE%”
设置TYPE = 2020
设置ADMIN =“C:\ Program Files(x86)\ WANdisco \ uberSVN \ bin \ svnadmin.exe”
设置ZIP =“C:\ Program Files \ 7-Zip \ 7z.exe”
%ADMIN%dump%REPOS%-r%REV%--incremental | %ZIP%a -si“C:\ SVN Backup \ Incremental \%TYPE%\%2.7z”-mmt -mx9
除了增量转储之外,我还有一个运行完整转储的每周批处理文件。 有点矫枉过正,但所有转储文件都使用7 Zip命令行实用程序压缩。此后,它将与我们通常的备份媒体同步。
编辑 - 使用7 Zip命令行实用程序更新了我正在压缩转储文件的代码,以节省一些空间。
答案 3 :(得分:1)
只需复制并压缩整个存储库文件夹,即可让您轻松回到不同的时间点。当然,你必须确保在使用存储库时不要这样做,或者上帝知道会发生什么:)
在Windows上,您可以使用VSS确保您在不使用时采取一致的备份或在晚上进行备份。
答案 4 :(得分:1)
我只是每周一次压缩存储库并将zip文件复制到另一个存储位置。