svn全备份,用svnadmin hotcopy命令,总提示系统找不到指定路径,怎么办?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了svn全备份,用svnadmin hotcopy命令,总提示系统找不到指定路径,怎么办?相关的知识,希望对你有一定的参考价值。

simplebackup.bat,如下
@echo 正在备份版本库%1......
@%SVN_HOME%\bin\svnadmin hotcopy %1 %BACKUP_DIRECTORY%\%2
@echo 版本库%1成功备份到了%2!

backup.bat如下:
echo off
set SVN_HOME="c:program files\visualSVN Server\"
set SVN_ROOT=E:\Repositories
set BACKUP_SVN_ROOT=F:\svnbak
set BACKUP_DIRECTORY=%BACKUP_SVN_ROOT%\%date:~0,10%
if exist %BACKUP_DIRECTORY% goto checkBack
echo %BACKUP_DIRECTORY%>>%SVN_ROOT%/backup.log
mkdir %BACKUP_DIRECTORY%
rem 验证目录是否为版本库,如果是则取出名称备份
for /r %SVN_ROOT% %%I in (.) do @if exist "%%I\conf\svnserve.conf" %SVN_ROOT%\simpleBackup.bat "%%~fI" %%~nI
goto end
:checkBack
echo %BACKUP_DIRECTORY%
goto end
:end

执行simplebackup.bat时提示系统找不到指定路径,这是为什么啊!

参考技术A “set SVN_HOME”应该是="c:\program files\visualSVN Server\",你原文少了一个“/”

从 svnadmin hotcopy 创建 SVN 存储库

【中文标题】从 svnadmin hotcopy 创建 SVN 存储库【英文标题】:Create SVN repository from svnadmin hotcopy 【发布时间】:2014-12-20 16:32:55 【问题描述】:

我备份了我所有的 svn 存储库文件夹,遗憾的是我对 svn 转储格式一无所知。备份是使用“hotcopy”创建的

现在我的服务器坏了,我不得不从头开始重新安装所有东西,我想重新导入 svn 存储库。

将它们复制到文件夹中不起作用并且

svnadmin 创建 /my/existing/repository

也没有用。

是否有可能以“简单”的方式恢复我的存储库?

【问题讨论】:

我很确定svnadmin create 简单的方法。我会试着弄清楚这是怎么回事。 当我在现有存储库上执行此操作时,我得到:svnadmin: E165002: '/home/pi/svn/myrepo' is an existing repository 所以听起来你的 svn 服务器可能还在跛行?不完全确定发生了什么,但在this thread 上达到顶峰。 这是一个没有创建存储库的新服务器,我想使用旧服务器中的存储库?!存储库不是 .dump 格式,它们只是 svn 创建的副本使用 svnadmin create 创建存储库后的文件系统 在导入到新服务器之前,您可能需要删除 .svn 条目。 【参考方案1】:

只需将 hotcopy 传输到新服务器并将 svn 服务器指向它。

唯一需要注意的是 svn 服务器版本之间的巨大差异。如果新服务器与旧服务器上使用的格式不兼容,它可能无法正常工作。

这是我做的一个实验来说明的。我的笔记本电脑上有一个存储库~/svnServe/importantApp

根据原始 repo 启动 svn 服务器

svnserve --listen-host 127.0.0.1 -d -r ~/svnServe/importantApp/

从 svn 客户端运行 list 命令

svn list svn://127.0.0.1/
branches/
tags/
trunk/

制作服务器的热拷贝

svnadmin hotcopy ~/svnServe/importantApp ~/svnServe/importantAppHotcopy

针对 hotcopy 启动服务器

sudo svnserve --listen-host 127.0.0.1 -d -r ~/svnServe/importantAppHotcopy/

从 svn 客户端运行 list 命令

svn list svn://127.0.0.1/
branches/
tags/
trunk/

【讨论】:

谢谢,我怎样才能将svn服务器指向它?因为那正是我卡住的地方 你用什么做服务器,Ubuntu、Windows、Apache? 它是一个带有 raspbian 的树莓派。非常感谢,我去试试 好的,只是一个简单的 svnserve -d -r ./svn 为我做了 :) 非常非常感谢。但是如果服务器重启会发生什么? 可能有一种方法可以将它挂接到 init.d 中,这样您就不必手动运行 svnserve。我不熟悉树莓派,是 ubuntu 吗?

以上是关于svn全备份,用svnadmin hotcopy命令,总提示系统找不到指定路径,怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

从 svnadmin hotcopy 创建 SVN 存储库

svnadmin hotcopy 无限期挂起

CentOS7.5下SVN服务器备份与恢复

SVN服务器备份

SVN服务器备份

SVN迁移