首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows命令提示符上的管道数据

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

Stack Overflow用户
提问于 2009-04-30 07:04:19
回答 2查看 7.6K关注 0票数 11

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

代码语言:javascript
复制
> svnadmin dump c:\path\to\myrepo > c:\svndump.svn
> 7z svndump.svn svndump.7z      // or whatever the correct syntax is

我想知道是否有一种方法可以跳过这里的中间人,并通过管道或其他方式一次性压缩svn转储数据?这个是可能的吗?它的语法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-04-30 07:15:46

svnadmin dump dumps to standard out by default7z command line can read from standard input using the -si switch

代码语言:javascript
复制
svnadmin dump c:\path\to\myrepo | 7z a -si svndump.7z
票数 19
EN

Stack Overflow用户

发布于 2016-02-12 01:03:09

因为您的样本正是我正在寻找的,所以这就是我所做的,作为一个完整的解决方案来“丢弃”我所有的存储库。该解决方案将所有svn存储库转储为7-zip文件,而不使用未压缩中间文件。

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

代码语言:javascript
复制
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

代码语言:javascript
复制
start /low m:\repositories\dump-all.bat

注意:"pushd d%~dp0“将”当前目录“设置为批处理文件所在的位置,而不是在"c:\windows\system32”中启动它,如果您使用“以管理员身份运行”从资源管理器启动它。如果工作文件夹在另一个驱动器上,它也可以工作。

不需要键入"m:“和"cd \repositories”。如果你从"c:“驱动器开始。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/805706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档