Svn Windows命令提示符上的管道数据

Svn Windows命令提示符上的管道数据,svn,command-line,backup,svnadmin,Svn,Command Line,Backup,Svnadmin,我需要获取一个大型(约8gb)svn存储库的备份转储。我目前的方法是使用svnadmin dump对文件进行压缩,然后使用7-Zip压缩和拆分文件 > svnadmin dump c:\path\to\myrepo > c:\svndump.svn > 7z svndump.svn svndump.7z // or whatever the correct syntax is 我想知道是否有一种方法可以跳过中间人,通过使用管道或其他方法一次压缩svn转储数据?这可能

我需要获取一个大型(约8gb)svn存储库的备份转储。我目前的方法是使用
svnadmin dump
对文件进行压缩,然后使用7-Zip压缩和拆分文件

> svnadmin dump c:\path\to\myrepo > c:\svndump.svn
> 7z svndump.svn svndump.7z      // or whatever the correct syntax is
我想知道是否有一种方法可以跳过中间人,通过使用管道或其他方法一次压缩svn转储数据?这可能吗?语法是什么?


因为您的示例正是我想要的,所以这是我作为“转储”所有存储库的完整解决方案所做的。 该解决方案将所有svn存储库转储到7-zip文件中,而不使用未压缩的中间文件

将该批处理文件放在“存储库根目录”中,例如m:\repositories\dump-all.bat

pushd %~dp0
SET SEVENZIP="c:\Program Files\7-Zip\7z.exe" a -mx1 -si 
FOR /f "tokens=*" %%i in ('DIR /a:d /b') DO svnadmin dump %%i | %SEVENZIP% ..\_svndump\%%i.dump.7z
并且,如果需要以低优先级运行该批处理,则像这样启动该批处理,这两个进程(7z+svnadmin)都将占用大量cpu

start /low m:\repositories\dump-all.bat
注意:“pushd%~dp0”将“当前目录”设置为批处理文件所在的位置,而不是在“c:\windows\system32”中启动批处理文件,前提是从“以管理员身份运行”的资源管理器启动批处理文件。如果工作文件夹位于另一个驱动器上,它也可以工作。

无需键入“m:”和“cd\repositories”。如果您从“c:”驱动器开始运行。

对投票结果的回应:好的,是的,与编程无关,但与编程无关。另外,它有一个明确而权威的答案,所以我认为它适用于堆栈溢出。它的主题是——它涉及到编程相关工具的有效使用。Leh,你比我快了10秒左右。:)
start /low m:\repositories\dump-all.bat