使用svnsync进行备份

时间:2015-12-29 14:24:06

标签: batch-file svn visualsvn-server svnsync

我希望使用svnsync来创建我的svn存储库的备份副本。

svnsync命令复制所有版本化文件及其文件 服务员svn属性。它不会复制钩子或conf 来自源存储库的目录,所以我需要这样做 手动

我已经编写了这个批处理脚本来创建备份存储库:

setlocal enableextensions enabledelayedexpansion

:: create local backup project
svnadmin create C:\Repositories\Test

:: initialize local backup project with remote project 
svnsync initialize https://local.com/svn/Test https://remote.com/svn/Test

:: get remote info project and store in info.txt
svn info https://remote.com/svn/Test>info.txt

:: get remote UUID project from info.txt
set UUID=
for /f "delims=" %%a in (info.txt) do (
    set line=%%a
    if "x!line:~0,17!"=="xRepository UUID: " (
        set UUID=!line:~17!
    )
)
:: set local UUID project with the remote UUID project 
svnadmin setuuid C:\Repositories\Test %UUID%

:: sync local and remote project
svnsync sync https://local.com/svn/Test https://remote.com/svn/Test

endlocal

我编写了这个批处理脚本,用于将备份存储库与主存储库同步(每小时计划):

svnsync sync https://local.com/svn/Test https://remote.com/svn/Test

说,如果我通过svnsync设置镜像svn repo,如果我的生产svn 服务器崩溃了,那我怎么能通过恢复生产svn repo 镜子?可能吗?

有人可以建议使用svnsync备份生产服务器的最佳做法吗?

1 个答案:

答案 0 :(得分:1)

有几种方法比使用svnsync更好: