rsync -rvhe ssh --partial-dir=path/to/partial/dir dir_to_copy remote_server:path/to/target/directory
로컬 디렉터리를 원격 서버에 복사하려고 합니다 . 나는 또한 --partial-dir
인수를 사용하지 않고 이것을 시도했습니다. rsync의 로컬 복사본은 버전 3.1.3(WSL에 포함)이고 원격 버전은 3.1.1(원격 Ubuntu 설치에 포함)입니다. 대부분의 파일에 대해 이 프로세스를 성공적으로 완료했으며 압축( -z
)을 사용하고 대용량 파일을 제외했으며 이제 대용량 파일도 복사하여 이 프로세스를 완료하려고 합니다.
그러나 rsync는 특정 파일에서만 중단됩니다. 이는 1) 전송하고 2) 전송이 완료되었는지 확인할 때 발생합니다. 이에 대해 더 자세히 설명하면 1)의 경우 부분 전송이 나타나는 것을 볼 수 있으며 /path/to/partial/dir
(예상대로 명령을 생략하면 대상 디렉터리에 부분 파일도 표시됨 --partial-dir
) 때로는 작업이 중지되기 전에 부분 파일에서 전송이 완료되기도 합니다. 내용의. 2)가 발생하면 원격 서버에 파일이 이미 존재하더라도 전송이 중지됩니다.
또한 rsync는 내 로컬 컴퓨터와 원격 서버 모두에서 계속 실행되고 아무 작업도 중지됩니다. 따라서 문제를 진단하는 데 오류가 발생하지 않습니다. kill local task를 사용하면 가 ^C
반환되지만 rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(644) [sender=3.1.3]
바로 터미널 프롬프트로 돌아가지는 않습니다. SIGINT
인쇄한 후 수신되었다고 말하기 전에 잠시 멈추고 [sender] io timeout after 60 seconds -- exiting
터미널 프롬프트로 돌아갑니다.
이는 여기에 설명된 내용과 유사하게 들립니다.rsync가 오류 없이 디렉터리에서 계속 중지됩니다., 하지만 해당 솔루션을 사용할 수 없습니다. 즉 cp
, 전송할 데이터가 10GB가 넘고 복사가 중단되어 처음부터 시작해야 하는 위험을 감수하고 싶지 않기 때문입니다.
근본 원인을 확인하고 이 문제를 해결하는 방법을 아는 사람이 있습니까? 감사해요!
답변1
-t
캡처 시간 표시를 놓쳤 으므로 rsync
체크섬을 사용하여 복사본을 확인해야 합니다. 이는 매우 느리며 명백한 속도 저하의 원인일 가능성이 높습니다.
이 시도,
rsync -rtvh dir_to_copy remote_server:path/to/target/directory
"Small Files Only" 복사본과 "All Files" 복사본을 다시 실행하여 효과를 확인하십시오.