rsync -avzm -e ssh /path/to/src/folder/ /path/to/dest/folder
--include=*/ --include=*/config.xml --exclude=*
보조 디렉터리에 파일(예: config.xml)을 복사하려면 rsync를 사용해야 합니다. 현재 위 스크립트를 사용하고 있으며 모든 디렉토리 수준에서 config.xml을 복사하고 있습니다.
위 명령을 어떻게 변경해야 합니까?
답변1
이 시도:
rsync -avzm -e ssh -f'- /*/*/' -f'+ config.xml' \
/path/to/src/folder/ /path/to/dest/folder
설명하다
-f
rsync
필터링 규칙이 활성화됩니다 .- /*/*/
:-
배제된 규칙을 의미합니다./*/*/
레벨에서 모든 하위 디렉토리를 제외합니다3rd
.
+ config.xml
: rsync가 파일 이름에 포함된 모든 파일을+
복사하도록 하는 포함 규칙을 의미합니다 .config.xml
예
$ ls -R dir1/
dir1/:
dir2 dir22
dir1/dir2:
config.xml.2 dir3
dir1/dir2/dir3:
config.xml
dir1/dir22:
config.xml.22 dir33
dir1/dir22/dir33:
config.xml
$ rsync -r -f'- /*/*/' -f'+ config.xml' dir1/ /tmp
$ ls -R /tmp/dir2*
/tmp/dir2:
config.xml.2
/tmp/dir22:
config.xml.22