그 안에는 많은 파일이 있습니다 /dapp/parsD/parsapp/object
. rsync
이 디렉토리에서 *와 일치하는 파일 만 원합니다.sql, *.pl그리고 *.쉿하지만 동일한 디렉터리에서 다음으로 끝나는 2개의 특정 패턴도 제외하고 싶습니다..쉿.
가능합니까? 나는 달리고 있다HP-UX11i소스와 대상에 대해. rsync
버전은3.1.0.
다음 내용은 상상하기 더 쉬울 것입니다. 개발서버에서는 '엑스' 또는'엑스'는'으로 대체됩니다.디' 또는'디', 프로덕션 서버에서는 '피' 또는'인'.
다음 파일이 포함됩니다:
/xapp/parsX/parsapp/object/*.sql
/xapp/parsX/parsapp/object/*.pl
/xapp/parsX/parsapp/object/*.sh
그러나 다음 파일은 제외하십시오.
/xapp/parsX/parsapp/object/getbackdate*autosys.sh
/xapp/parsX/parsapp/object/parssendevent*.sh
답변1
rsync
포함/제외/필터 규칙은 사용하기 어려울 수 있지만 매우 유연합니다. 원하는 작업을 수행하는 한 가지 방법은 다음과 같습니다.
rsync --include-from=- /xapp/parsX/parsapp/object/ dest_dir <<EOF
- getbackdate*autosys.sh
- parssendevent*.sh
+ *.sql
+ *.pl
+ *.sh
- *
EOF
제조업체는 --include-from
에서 rsync
모드를 읽습니다 stdin
. 이를 사용하지 않고 각 모드를 별도 --include
또는 --exclude
옵션으로 지정할 수 있습니다. 또한 규칙을 파일에 넣고 이름을 지정하거나 읽는 모든 디렉토리에서 파일을 -F
찾는 데 사용할 수 있습니다 rsync
..rsync-filter
또한 패턴의 순서도 중요합니다. 첫 번째 일치 패턴을 기반으로 파일을 포함/제외합니다. 또한 - *
모든 것이 기본적으로 포함되므로 포함 규칙이 작동하도록 하려면 마지막 규칙이 필요합니다. 그러나 이는 명시적으로 포함되지 않은 모든 디렉터리를 제외하므로 재귀 전송의 경우 문제가 될 수 있습니다. 이 문제를 해결하는 한 가지 방법은 + **/
모든 디렉터리를 포함하는 규칙을 포함하는 것입니다.