2

有没有一种好方法可以备份 SVN 服务器上的所有代码和内容?因为如果那个硬盘死了,那么所有的工作都会丢失。

我认为如果我们使用多台计算机定期对其进行 SVN 更新,大多数文件都存在于这些计算机上,因此代码不会丢失更安全。

我也在考虑编写一个脚本来复制c:\repositoriesw:\,这是一个 2TB 的外部硬盘驱动器,白天大部分时间都是空闲的。复制过程可以由 cron 或 windows 调度程序每晚运行...但是复制所有内容会不会过大?一天中可能有十几个文件被更改,总共有 0.5MB,复制整个存储库可能涉及 50MB 或更多。如果我在该 cron 作业运行时进行 SVN 签入怎么办。这些文件不会处于不一致的状态吗?

或者将存储库放在什么位置c:\以便 SVN 更新速度快(w:如果空闲时间过长,驱动器需要时间唤醒),然后只需在下面创建一个项目w:\并签出所有文件w:\all_code,它将 SVN 更新到整个存储库,然后运行 ​​cron 作业到 SVN 更新w:\以每晚同步到存储库,以便所有文件的额外副本都在w:?

4

5 回答 5

7

您有多种选择:

于 2009-05-12T05:38:27.013 回答
2

查看

svnadmin dump

命令。http://svnbook.red-bean.com/en/1.1/re31.html

于 2009-05-12T05:33:51.717 回答
2

在谷歌找到这个:

http://justinram.wordpress.com/2006/05/03/subversion-server-windows-backup/

大多数命中都是针对 Linux 的,但那是针对 Windows 的特定答案。确保您注意有关用户已签出文件/更改文件的部分。

于 2009-05-12T05:34:40.810 回答
2

获取hot-backup.py的副本。

然后新建一个Sheduled Task,每晚执行python脚本。

这是我传递给脚本的示例:

"C:\Program Files\Python25\python.exe" D:\SvnBackupUtil\hot-backup.py --archive-type=zip --num-backups=30 C:\Repositories\svn_root \\core-ad01l\backup\

此示例将存储库的 zip 备份创建到\\core-ad01l\backup\并保留最多 30 个备份。

您需要安装 python 来运行脚本。

于 2009-05-12T05:41:41.550 回答
0

如果您在 Linux 服务器上,则每周或每小时创建存储库快照。

或者

你可以去

svnadmin 转储或 svnadmin 热拷贝

创建它的zip之后。

于 2014-06-03T15:45:33.140 回答