7-zip을 사용하여 파일을 백업하지만 일부 디렉토리는 제외하는 방법


43

7-zip을 사용하여 디렉토리를 백업하고 싶지만 ".svn"(소스 트리의 아무 곳이나)이라는 모든 디렉토리를 제외하고 싶습니다. 이것이 가능한지 아는 사람이 있다면 어떻게합니까?

답변:


35

모든 .svn 디렉토리를 제외하려면 -xr!?svn\*스위치 를 추가해야 합니다

예를 들어 다음은 C:\Project\To\Backup만족하는 폴더를 제외한 디렉토리 의 백업을 만듭니다 ?svn.

"C:\Program Files\7-Zip\7z.exe" a -r -tzip -y -xr!?svn\* Project.zip C:\Project\To\Backup\*

덕분에 ManiacD,하지만 난 작업 -xr이 얻을 수 없습니다 내가 -xr하려고하면 * 나에게 오류를 제공하고 SVN을 .svn * 아직도을 .svn 제외하지 않습니다!?가!
미카엘 Sundberg

.svn 디렉토리 아래에있는 모든 것을 제외 시키려면? svn 뒤에 백 슬래시가 필요합니다. -xr
!?

처음에 문제가 발생해도 걱정할 필요가 없습니다. 7-zip 제외 스위치 -x (-xr recurse 디렉토리)! 와일드 카드 검색을 기반으로 파일 이름을 제외합니다. 백 슬래시가 없으면? svn *와 일치하는 파일 이름을 제외하려고합니다. 마지막에 \ *가있는
asvn.log는

와일드 카드 사용 방법에 대한 자세한 내용은 7-Zip과 함께 제공되는 도움말 파일을 참조하십시오. 며칠 전에 비슷한 작업을 수정하는 데 도움이되었습니다. 7-Zip은 약간 다른 와일드 카드를 사용합니다 ...)
släcker

3
그리고 만약 당신이 여기에서 일반 폴더 제외를 찾고 넘어 졌다면, ?"period-svn"( .svn) 과 일치하는 것이므로, 폴더에있는 모든 것을 건너 뛰 SkipMe려면-xr!SkipMe\*
drzaus

13

7-Zip을 사용하여 .svn (또는 잠재적으로 _svn) 폴더를 제외하는 대신 svn export 명령 ( SlikSVN의 svn.exe 사용 )을 사용하여 작업 사본을 임시 폴더로 내보내는 것이 좋습니다 .

svn export C:\Path\To\WC C:\Backup\Staging

그런 다음 다음과 같이 7-Zip을 사용하십시오.

7z.exe a "C:\Parth\To\Archive" "C:\Backup\Staging\*" -bd t7z -v2g -r

그런 다음 준비 폴더를 삭제하십시오.

이것이 로컬 작업 복사본을 백업하기 위해 수행하는 작업입니다.


수출 팁 감사합니다. TortoiseSVN 메뉴에서도 사용 가능합니다.
Arnold Spence

12

파일 또는 디렉토리 목록을 사용하여 7zip 파일을 제외시킬 수 있습니다.

/path/to7Zip/7z a -bd f:/backup/backup_2009-08-23_daily.zip home \
          '-xr@\path\to\backup_daily_exclude.lst'

제외 파일은 다음과 같습니다.

home\Photos\iPod*
home\dhltd\*
BlogMatrix\Sparks\db\*.archive
home\eclipse\*
.svn

키는 -xr이며 특히 "r"은 제외 목록을 재귀 적으로 디렉토리의 각 레벨에 적용 함을 나타냅니다. 2 개의 제외 파일 목록을 사용하여 하나를 사용하고 하나는 재귀 제외를 사용할 수 있습니다. 위의 내용은 cygwin에서 실행되는 bash 스크립트에서 가져온 것입니다.


4

내가 사용했을 때

"C:\Program Files\7-Zip\7z.exe" a -r -ttar -xr!?git\* aufs2-util.tar aufs2-util\*

원하지 않는 .git 디렉토리를 추가하여 다음으로 변경했습니다.

"C:\Program Files\7-Zip\7z.exe" a -r -ttar -xr!?git\ aufs2-util.tar aufs2-util\*

원하는 결과를 얻었습니다.


3

내가 사용했을 때

7z a "D:\codebase\w.7z" "D:\codebase\Edison\otm\Webapp" -t7z -mx0 -xr!WEB-INF\*

WEB-INF 디렉토리는 제외되지 않았습니다. 디렉토리 이름 앞에 별표 추가

7z a "D:\codebase\w.7z" "D:\codebase\Edison\otm\Webapp" -t7z -mx0 -xr!*WEB-INF\*

원하는 결과를 얻었습니다.


별표 부분이 가장 중요합니다. 더 많은 투표를해야합니다.
Valerio

0

저에게는 여러 maven 코드 디렉토리를 백업하려고했는데 "target"이라는 디렉토리를 제외하고 싶었습니다.

"C:\Program Files\7-Zip\7z.exe" a -r -tzip -y -xr!*\target\* site.zip C:\code\site\

관련 제외 매개 변수는 -xr!*\target\*입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.