![Rsync의 포함 및 제외 패턴을 잘 이해할 수 없습니다.](https://linux55.com/image/47991/Rsync%EC%9D%98%20%ED%8F%AC%ED%95%A8%20%EB%B0%8F%20%EC%A0%9C%EC%99%B8%20%ED%8C%A8%ED%84%B4%EC%9D%84%20%EC%9E%98%20%EC%9D%B4%ED%95%B4%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
첫째, 나는 이 주제에 관해 많은 것을 읽었습니다.Rsync 필터: 하나의 패턴만 복사), 그래도 이해가 안 되거나 설치에 문제가 있는 것 같아요...
내 구조 "from"은 다음과 같습니다.
Windows
Users
User1
Documents
doc1.txt
doc2.txt
AppData
Downloads
User2
Documents
doc3.txt
doc4.txt
AppData
Downloads
모든 사용자에 대해 모든 문서 폴더와 하위 폴더를 백업하고 싶지만 AppData 및 다운로드 구조는 백업하고 싶지 않습니다.
내가 원하는 목적지에 관해:
Users
User1
Documents
doc1.txt
doc2.txt
User2
Documents
doc3.txt
doc4.txt
나는 많은 패턴을 시도했지만 그중 어느 것도 잘 작동하지 않았습니다. 이것부터 시작해보자:
rsync -av --include="*/" --exclude="*/AppData" --exclude="*/Downloads" /source/Users /destination
각 사용자의 AppData 및 다운로드 폴더와 하위 폴더를 제외하려면 어떻게 해야 합니까?
감사해요
거의 동일한 내용을 논의하는 또 다른 스레드가 있습니다(내가 잘 이해한 경우). 절대 경로를 사용한 rsync 및 하위 경로 제외
내 상황에 맞게 답변을 조정했지만 애플리케이션 데이터와 다운로드가 여전히 대상 경로에 존재합니다.
rsync -av --no-p --include="*/" --include="*/Documents/**" --exclude="** /source/Users /destination
답변1
많은 쉘에서는 기호가 *
포함되지 않습니다 /
(앞에 오는 대신 .
)(참조남자 7 공및 globstar
|) dotglob
옵션이 shopt
있으므로 제외하려는 경우애플리케이션 데이터그리고다운로드전체 경로를 제공해야 합니다.원천( --exclude="*/*/AppData" --exclude="*/*/Downloads"
) 또는 이름만 유지합니다 ( --exclude="AppData" --exclude="Downloads"
) 디렉토리가 어느 수준에 있는지는 중요하지 않습니다.
rsync -av --exclude="AppData" --exclude="Downloads" /source/Users /destination