rsync를 일시 중지 / 다시 시작하는 방법


49

실행중인 rsync를 어떻게 일시 중지 할 수 있습니까?

처음으로 Ctrl+ C를 죽이고 -P깃발을 사용하여 다시 실행했습니다. 현재 파일 전송이 손상되기 쉽습니까?

두 번째로 MacOS를 잠자기 상태로 두었습니다 (뚜껑을 닫음). 실행중인 프로세스를 보면 상태가 'S'인 2 (이유가 확실하지 않음)를 볼 수 있습니다.

사용해 보았습니다

kill -SIGCONT

프로세스를 다시 시작하지만 효과가 없습니다.

답변:


61

프로그램을 TSTP(polite) 또는 STOP(forcible) 신호 로 보내서 일시 정지 할 수 있습니다 . 실행 한 터미널 rsync에서 Ctrl+ Zsend를 누릅니다 TSTP. 터미널 의 fg또는 bg명령 또는 CONT신호로 다시 시작하십시오.

rsync 프로세스를 종료하고 전체를 다시 실행하는 것이 안전합니다. 중단 된 곳에서 계속됩니다. 모든 파일을 다시 확인하고 처음부터 중단 된 파일을 처리 하기 때문에 --partial(에 포함 된 -P) 통과하지 않은 경우 특히 비효율적 일 수 있습니다 rsync.

일부 파일이 제대로 동기화되지 않는 옵션 조합이있을 수 있습니다. 다른 옵션과는 달리 --inplace단일 옵션으로 인해이 문제가 발생하지 않습니다.

랩톱을 분리했다가 다른 곳에 다시 연결하면 다른 IP 주소를 얻을 수 있습니다. 그러면 rsync가 사용하는 TCP 연결이 끊어 지므로 연결을 끊고 다시 시작해야합니다. 랩톱을 일시 중단하고 TCP 연결 시간이 초과 된 경우에도 발생할 수 있습니다. 시간 초과는 결국 응용 프로그램 수준으로 필터링되지만 시간이 걸릴 수 있습니다. Ctrl+ 를 누르고 Crsync를 다시 실행하는 것이 안전 합니다.


1
실제로 죽이는 rsync -avh것은 복사중인 현재 파일을 잃어 버립니다. 파일이 크면 많은 시간을 잃어 버렸습니다. 어쩌면 Ctrl+z임시 파일을 이동 (점으로 시작) 다음 Ctrl-Crsync를 더 나은 해결책이 될 수 있습니다.
malat

자세한 설명을 주셔서 감사합니다. 명확히하려면 : ctrl + z를 일시 중지하고 fg를 다시 시작하고 bg를 중지하십시오.
Praesagus

3
@Praesagus을 bg받는 프로세스를 넣어 B의 애크 g의 원형 정지하지.
Jari Keinänen

--partial내가 필요한 것입니다. 21GB의 데이터를 복사하려고하는데 그중 6.6GB 파일이 있습니다. 문제는 몇 GB의 데이터 전송 후 네트워크가 연결을 끊는 것 --partial입니다.
AnthonyD973

20

Ctrl+ Z일시 중지하고 :

$ fg

계속하려면

$ jobs

일시 중단 된 작업보기 bg [number]그들을 배경으로; fg [number]그것을 포 그라운드로.


2
Ctrl+S터미널이 출력을 수락하기를 기다리는 동안 차단되지 않는 한 기본 프로그램이 아니라 스크롤 출력 만 일시 중단하고 비활성화하지 않은 경우에만 중지합니다.
Gilles 'SO- 악마 그만해'

1
현재 'S'상태에서는 재개되지 않습니다. Ctrl + C를 사용하여 종료하고 rsync를 다시 실행하는 것이 안전합니까? 다른 옵션이 있습니까? 그래도 다음에 그 점을 염두에 두겠습니다. 감사합니다.
qnoid

1
또한 프로세스를 일시 중단하는 Ctrl-Z는 일정 시간이 지나면 해당 프로그램에 의해 설정된 TCP 네트워크 연결 시간이 초과 될 수 있습니다. 따라서 몇 분 이상 rsync를 일시 중단하면 포 그라운드로 되돌릴 때 오류 메시지와 함께 갑자기 종료되어 열린 소켓이 읽기 및 쓰기에서 오류를 반환한다는 것을 알 수 있습니다.
Jim Dennis

8

실행 rsync--partial플래그. 그런 다음 부분 전송을 유지하고 시작할 때 부분 파일을 다시 시작합니다.


5

여기서 사람들은 --partial플래그 작동을 언급했지만, 다시 시작할 때 --append또는 --append-verify플래그가 사용될 때만 다시 시작된다는 것을 언급해야합니다 .

--partial동기화 프로세스를 완료하지 않은 파일의 숨겨진 파일을 작성하고 동기화를 중단 할 때 파일이 유지됩니다. --append다시 시작한 후 사용할 때 파일을 계속 완료합니다 . 그렇지 않으면을 사용하지 않으면 --append불완전한 숨겨진 파일이 유지되고 불완전한 상태로 유지됩니다.

결론 : 다시 시작할 때 사용 하면 + 를 사용 rsync --partial하여 중단 할 수 있습니다 .CtrlCrsync --append

(출처 : rsync가 중단 된 후 재개 할 수 있습니까? 2016 년 4 월 5 일에 확인 함)


따라서를 사용한 경우 rsync --avP <source> <destination>CTRL + C로 일시 중지 한 다음 입력하여 다시 시작 rysnc --append해야합니까?
kingmakerking

@kingmakerking 예
Mehdi Nellen

@kingmakerking : 아니요. 여전히 첫 번째 rsync의 옵션과 소스 및 대상이 필요합니다. 다시 시작하려면 이전 rsync 명령을 다시 시작 하고 기존 옵션에 추가하십시오 --append .
mivk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.