rsync --include-from이 작동하지 않습니다.

rsync --include-from이 작동하지 않습니다.

매뉴얼 페이지에는 이에 대한 예가 없습니다. rsync에 해당 파일이 있는 일부 파일만 포함하도록 지시하는 데 어려움을 겪고 있습니다. 포함하기 위해 제외해야 하는 이유, rsync포함 파일에 있는 내용을 포함하지 않는 이유 및 그 밖의 모든 항목이 제외되는 이유를 이해할 수 없습니다.

이것은 내 스크립트입니다.

rsync -ruv --rsh=ssh --include-from=zz-rsync-test.prod.incl /usr2/subdir remoteSrv:/tmp/.

그리고 이것은 작동하지 않는 내 포함 파일입니다. 너무 많이 복사합니다. /usr2/subdir에 있는 모든 항목( subdir이상한 디렉토리 포함)을 복사합니다. 디렉토리에 있는 per, 42f, xml 파일만 복사하고 싶습니다 data/text_forms.

+ data/text_forms/*.per
+ data/text_forms/*.42f
+ data/text_forms/*.xml
+ data/text_forms/*.xml.*

다음은 작동하지 않으며 아무것도 복사하지 않습니다.

- *
+ data/text_forms/*.per
+ data/text_forms/*.42f
+ data/text_forms/*.xml
+ data/text_forms/*.xml.*

다음 중 하나도 작동하지 않으며 아무것도 복사하지 않습니다.

- *
+ data/
+ data/text_forms/*.per
+ data/text_forms/*.42f
+ data/text_forms/*.xml
+ data/text_forms/*.xml.*

다음 중 하나도 작동하지 않으며 아무것도 복사하지 않습니다.

- *
+ data/
+ data/text_forms/
+ data/text_forms/*.per
+ data/text_forms/*.42f
+ data/text_forms/*.xml
+ data/text_forms/*.xml.*

다음 중 하나가 작동하지 않습니다.

+ */
+ /data/text_forms/*.per
+ /data/text_forms/*.42f
+ /data/text_forms/*.xml
+ /data/text_forms/*.xml.*
- *

다음 중 어느 것도 작동하지 않습니다.

+ /data/
+ /data/text_forms/
+ /data/text_forms/*.per
+ /data/text_forms/*.42f
+ /data/text_forms/*.xml
+ /data/text_forms/*.xml.*
- *

답변1

해결책을 찾았습니다. 그것을 찾는 데 꼬박 이틀이 ​​걸렸습니다. 그렇게 많은 시간을 낭비하지 않는 데 도움이 되기를 바랍니다.

첫 번째 문제는 의 하위 디렉터리가 포함되어 subdir있다는 /usr2/subdir것인데 전체 디렉터리가 포함되는 것을 원하지 않았습니다. 단지 기본 디렉터리가 되기를 원했기 때문에 에서와 같이 끝에 슬래시가 필요하므로 /usr2/subdir/새 명령은 다음과 같습니다. 좋다:

rsync -ruvv --rsh=ssh --include-from=zz-rsync-test.prod.incl /usr2/subdir/ remoteSrv:/tmp/.

명령을 실행하는 순간 제외되거나 포함된 항목에 대한 자세한 내용을 얻기 위해 v명령줄( )에 추가 옵션을 추가했습니다 . -ruvv기본 디렉터리를 고정하고 추가 디렉터리를 추가하면 v올바른 포함 파일을 만드는 것이 조금 더 쉬워졌습니다.

+ data/
+ data/text_forms/
+ data/text_forms/*.per
+ data/text_forms/*.42f
+ data/text_forms/*.xml
+ data/text_forms/*.xml.*
- *

모든 +줄은 앞에 배치되어야 하며 - *, 특히 디렉터리의 경우 해당 디렉터리 내부에 직접 파일을 가져오고 싶지 않더라도 스캔할 각 디렉터리를 명시적으로 포함해야 했기 때문입니다. 어디에서 픽업될지 확실하지 않아서 a data/anyTestFile1와 a를 추가하여 테스트를 했는데 , 픽업되지 않아서 원하는 대로 작동하고 있습니다.... 드디어.data/text_forms/anyTestFile2

관련 정보