때로는 scp를 통해 매우 큰 파일을 다운로드하고 있으며 매번 연결이 끊어지고 전송이 중단 될 때마다 약간의 기회가 있습니다.
다시 시작할 수있는 방법이 있습니까?
답변
다음 접근 방식을 시도 할 수 있습니다. scp 대신 dd 를 사용 하여 다운로드 한 부분을 건너 뛰고 나머지를 파일에 추가하십시오.
sofar=`ls -l ./destfile | awk '{print $5}'`
ssh rsys "dd if=./srcfile bs=1 skip=$sofar" >> ./destfile
가능한 최적화 : 큰 블록으로 작업하십시오. 이것을 숙제로 남겨 두자.
답변
와 함께 scp
.
양쪽 끝에 모두 있으면 rsync -LvzP remoteserver:path/to/file localfile
단일 파일을 전송하는 데 사용할 수 있습니다 .
답변
예, 중단 지점에서 재개 할 수있는 방법이 있지만 scp를 사용하는 것은 불가능합니다. sftp reget filename
필요한 것을 수행합니다. Yarek과 Grawity는 둘 다에 +1의 유효한 솔루션을 제공했지만 중단 지점에서 다시 시작하려면 rsync를 좋아합니다. 제공된 예제 명령은 모두 원격 서버에서 로컬 워크 스테이션으로 파일을 검색한다고 가정합니다 (다운로드). 마지막 두 매개 변수는 그 순서대로 source_file 및 target_file로 간주되어야합니다. 파일 이름의 구문은 소스 또는 대상 파일이 로컬인지 원격인지에 따라 다릅니다. [text] 파일을 전송 (업로드)하는 경우 다음과 같이 제공된 예제를 다시 작성합니다.
# 로컬에서 리모트로 sofar =`ssh remote_system ls -l 인터럽트 _ 파일 | awk '{print $ 5}'`; dd if = source_file bs = 1 skip = $ sofar | ssh remote_system "cat >> ./interrupted_file"
그리고 rsync 솔루션에을 추가 -e ssh
합니다. 자세한 정보, 압축, 소유권 유지, 권한, 타임 스탬프, 재귀 디렉토리 등이 필요한지 여부를 고려해야합니다. -L 매개 변수와 관련하여 매뉴얼 페이지와 Google을 확인하십시오. 심볼릭 링크를 참조하는 대신 링크로 유지하려고 할 수 있습니다.
rsync -P -e ssh local_source_file remoteserver:path/to/interrupted_target_file
답변
(외에 다른 해결책이있다 rsync
또는 dd
솔루션 여기에 명시된) 놀랐 아무도 언급되지 해요 : 그것은이다 reput
의 명령 sftp
.
답변
scp -o ConnectTimeout 60
연결 시간 초과를 지정할 수 있습니다. 연결이 끊어지지 않을 수 있습니다.
답변
예, 양쪽 끝은 SFTP를 지원하는 경우 – 후 scp remoteuser@remotehost:/absolute/filename .
실패하면 수행하여 다시 시작할 수 있습니다 sftp remoteuser@remotehost
후 reget /absolute/filename
다운로드를 재개 할 수 있습니다.