我需要一个大型(约8 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转储数据?这个是可能的吗?它的语法是什么?
发布于 2009-04-30 07:15:46
svnadmin dump dumps to standard out by default和7z command line can read from standard input using the -si switch。
svnadmin dump c:\path\to\myrepo | 7z a -si svndump.7z发布于 2016-02-12 01:03:09
因为您的样本正是我正在寻找的,所以这就是我所做的,作为一个完整的解决方案来“丢弃”我所有的存储库。该解决方案将所有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 d%~dp0“将”当前目录“设置为批处理文件所在的位置,而不是在"c:\windows\system32”中启动它,如果您使用“以管理员身份运行”从资源管理器启动它。如果工作文件夹在另一个驱动器上,它也可以工作。
不需要键入"m:“和"cd \repositories”。如果你从"c:“驱动器开始。
https://stackoverflow.com/questions/805706
复制相似问题