RSync-서브 디렉토리가 다른 레벨에 존재하는 특정 서브 디렉토리 및 그 하위 제외


36

그 데이,

rsync를 사용하여 다음과 같은 원격 폴더 트리를 재귀 적으로 동기화하고 있습니다.

/folderA/a1/cache
/folderA/a1/cache/A1
/folderA/a1/cache/A2
/folderA/a1/somefolder
/folderA/a1/someotherfolder
/folderA/a2/somefolder/cache
/folderB/cache/
/folderB/b1/somefolder/cache
/folderB/b1/somefolder/yetanotherfolder/cache
/folderB/b1/somefolder/yetanotherfolder/cache/B1
/folderB/b1/somefolder/yetanotherfolder/cache/B2

폴더 트리의 모양을 모르며 시간이 지남에 따라 변경됩니다. 따라서 내가 할 수있는 것은 위의 재귀 적 으로 재 동기화 하지만 폴더 "캐시"와 하위 폴더를 제외 하여 궁극적으로 동기화를 끝내는 것입니다.

/folderA/a1
/folderA/a1/somefolder
/folderA/a1/someotherfolder
/folderA/a2/somefolder
/folderB/
/folderB/b1/somefolder
/folderB/b1/somefolder/yetanotherfolder/

어떤 제안?


답변:


53

당신은 --exclude깃발을 원합니다 . 예를 들어 로컬 rsync는 다음과 같습니다.

rsync -a --exclude cache/ src_folder/ target_folder/

제외 규칙은 트리 어디에서나 "캐시"라는 디렉토리와 일치합니다.

자세한 내용은 rsync 매뉴얼 페이지에서 "--exclude"및 "FILTER RULES"섹션을 참조하십시오.

http://www.samba.org/ftp/rsync/rsync.html


1
도 !! 고마워 내가 가장 좋아하는 간단한 답변입니다 :-)
TheEdge

1
나무의 어느 곳에도없는 것은 어떻습니까? 마찬가지로 제외 만합니다 a/cache. UPD 이 답변
x-yuri

2
또한 --exclude /cache/(앞의 /로)는 a/cache이름이 지정된 디렉토리가 아닌 디렉토리 만 제외 cache합니다.
Amir Ali Akbari

a/ b/위의 명령 줄에서 왜 의미합니까?
Danijel

1
@Danijel : a/동기화 (또는 복사)중인 디렉토리입니다. b/우리가 동기화하는 디렉토리입니다.
Jander
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.