【发布时间】:2011-07-26 22:15:54
【问题描述】:
我经常听说拥有 SVN 存储库并不会取消备份需求。
这样的备份是如何完成的?我的意思是存储库会随着时间的推移而膨胀,不是吗?那么我是每次都将其作为一个整体进行备份,还是我该怎么办?
进行此类备份的最简单方法是什么?
【问题讨论】:
标签: svn version-control backup backup-strategies
我经常听说拥有 SVN 存储库并不会取消备份需求。
这样的备份是如何完成的?我的意思是存储库会随着时间的推移而膨胀,不是吗?那么我是每次都将其作为一个整体进行备份,还是我该怎么办?
进行此类备份的最简单方法是什么?
【问题讨论】:
标签: svn version-control backup backup-strategies
您可以使用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 手册中的 Repository data migration using svnadmin。
【讨论】:
【讨论】:
svnadmin hotcopy -q repopath | bzip2 -9 > repo_backup.bz2
我已使用 post commit hook 进行增量备份:
REM 版本的备份
MD "C:\SVN 备份\增量\%TYPE%"
设置 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 命令行实用程序压缩转储文件的最新代码更新代码以节省一些空间。
【讨论】:
只需复制并压缩整个存储库文件夹,即可轻松返回到不同的时间点。当然,您必须确保在使用存储库时不要这样做,否则天知道会发生什么:)
在 Windows 上,您可以使用 VSS 来确保进行一致的备份或在晚上不使用时进行备份。
【讨论】:
我只是每周压缩一次存储库,然后将压缩文件复制到不同的存储位置。
【讨论】: