-r이 Windows에서 rsync에 작동하지 않는 이유는 무엇입니까?

-r이 Windows에서 rsync에 작동하지 않는 이유는 무엇입니까?

명령 프롬프트에서 이것을 실행하고 있습니다. rsync -rltz --executability -C --filter=':- .gitignore' -e "ssh -i /cygdrive/c/Users/dstein/.ssh/id_rsa" myfolder/ [email protected]:/path/to/place

나는 cygwin에 있지 않고도 사용할 수 있도록 내 PATH환경을 지정하고 있는데 , 이로 인해 여러 가지 다른 문제가 발생했습니다.cygwin/binrsync

마침내 작동하게 되었기 때문에 파일을 변경 myfolder하면 place. 그러나 myfolder위 명령 에 추가로 중첩된 파일을 편집하면 해당 파일에는 작동하지 않습니다.

편집하다 알고 보니 깊이가 아닌 것으로 나타났는데, 이 특정 폴더에는 이름 core이 잘 동기화되는 다른 모든 폴더와 동일한 권한이 있습니다.

답변1

문제가 플래그와 관련된 것 같습니다 -C. rsync-C플래그는 cvs 제외 규칙입니다. 파일 제외에 대한 CVS의 내부 규칙과 일치하는 파일을 자동으로 무시합니다.

제외 대상은 다음과 같습니다 man rsync(1).

RCS SCCS CVS CVS.adm RCSLOG cvslog.* tags TAGS .make.state .nse_depinfo *~ #* .#*  ,*  _$*  *$
*.old *.bak *.BAK *.orig *.rej .del-* *.a *.olb *.o *.obj *.so *.exe *.Z *.elc *.ln core 
.svn/ .git/ .hg/ .bzr/

귀하의 디렉토리가 위반한 규칙은 core2행의 끝에 있었습니다.

답변2

모두 삭제하고 게시된 대로 삽입하겠습니다. myfolder/에서 후행 /를 제거하면 전체 디렉토리가 복사됩니다. 하지만 내부에는 myfolder가 있습니다. 왜 -r이 작동하지 않는지 모르겠습니다.

더 많은 정보를 얻으려면 -vv를 실행하세요.

관련 정보