Yosemite 클라이언트에서 공유 웹 호스트로 동기화하고 있습니다.
인증 키를 설정했고 SSH를 잘 사용할 수 있으며 scp 파일에 문제가 없습니다.
-n(dry run) 옵션을 사용하여 rsync하면 변경된 파일이 오류 없이 나열됩니다.
그러나 -n 없이 동일한 명령을 사용하면 다음과 같은 결과가 나타납니다.
building file list ... done
rsync: connection unexpectedly closed (8 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-45/rsync/io.c(453) [sender=2.6.9]
이유를 모르겠습니다. 한 시간 동안 온라인으로 검색했지만 단서나 다른 오류 메시지를 찾을 수 없습니다.
어떤 아이디어가 있나요?
답변1
서버가 @ERROR
메시지를 반환할 수 있지만 클라이언트는 해당 오류를 조기 EOF로 보고할 수 있습니다.
첫 번째 단계는 근본적인 오류가 무엇인지 알아내는 것입니다. 작동하는지 확인하려면 더 간단한 플래그로 rsync를 실행하는 것이 좋습니다. rsync가 로드되지 않을 수 있지만 libz
무언가를 압축해야 할 때까지는 이를 알 수 없습니다.
두 번째 단계는 Yosemite 클라이언트에게 수신한 8바이트에 대한 정보를 알려달라고 요청하는 것입니다. 충분한 -v
플래그를 추가해도 문제가 해결되지 않으면 최신 rsync를 구축하는 것이 좋습니다(예: Homebrew 및 homebrew/dups
keg 사용). OSX의 상대적으로 오래된 rsync가 제공하지 않는 몇 가지 유용한 정보를 알려줄 수 있습니다.
설정 문제가 마음에 들지 않으면 Yosemite 시스템에 ssh -R
포트 전달을 다시 활성화하는 rsync 데몬을 설정하고 웹 호스트 셸에서 rsync를 수동으로 실행하여 시스템의 rsync에 연결할 수 있습니다. 악마. 그러면 오류 메시지가 한눈에 명확해집니다.
답변2
이 질문은 한동안 요청되었지만 누군가에게 도움이 될 수 있습니다.
서버에 동기화할 때 동일한 오류 메시지가 나타났습니다. 제 경우에는 동기화하고 싶은 폴더가 서버측에 누락되어 있었습니다. 폴더를 생성하면 문제가 해결되었습니다.
답변3
나는 이것이 큰 나무를 복사할 때 주로 발생한다는 것을 알았습니다. Mac 버전은 서버에 연결한 후 파일 목록을 작성합니다. 시간이 너무 오래 걸리면 상대방 서버가 너무 오랫동안 비활성 상태였기 때문에 연결을 닫습니다.
새로운 버전의 rsync는 파일 목록을 점진적으로 구축하므로 복사가 거의 즉시 시작되고 연결이 유휴 상태가 아닙니다. 두 가지 장점은 다음과 같습니다.
- 연결을 끊지 않고 수백만 개의 파일을 rsync 기다리는 중입니다.
- 네트워크 연결이 불안정하고 가끔 끊어지더라도 명령을 실행할 때마다 진행됩니다.
brew install rsync
예를 들어 Brew : 를 사용하여 최신 버전의 rsync를 설치하여 Mac OS X에서 이 문제를 해결하세요 . Mac OS X 기본 버전 2.6.9에서 3.1.3으로 업그레이드하면 이 문제가 해결됩니다.
답변4
원격 서버에 대상 디렉터리가 있는지 확인하세요. rsync
한 수준의 디렉터리 누락을 보상하는 것은 가능하지만 세 개 이상의 디렉터리 수준이 손실되면 표시되는 오류가 발생합니다.