TTY와 별개로 다른 Linux 서버에 대용량 파일을 복사하는 방법

TTY와 별개로 다른 Linux 서버에 대용량 파일을 복사하는 방법

사실은 다른디렉터에 있는 파일을 다 복사하려고 합니다. 총 파일 크기가 188GB이므로 시간이 좀 걸립니다.

이 명령을 사용하여 Linux 서버 A를 B로 복사하려고 합니다.

nohup scp Files-from-Server-A [email protected]:tmp &

그러나 터미널을 닫자마자 파일 복사가 중지되지만 프로세스는 여전히 프로세스 관리자에 표시됩니다.

답변1

tmux일반적인 조언은 터미널 멀티플렉서(예: 또는 ) 를 사용 screen하고 내부적으로 복사본을 실행하는 것입니다. 이렇게 하면 많은 유연성이 제공됩니다. 필요에 따라 분리/재연결하여 작업 진행 상황을 확인할 수 있습니다.

이러한 프로그램은 "실제" 터미널(Linux 콘솔, X 터미널 에뮬레이터, SSH 연결...)에 표시되거나 입력을 받는 "가상"(헤드리스) 터미널을 생성합니다. 가상 터미널은 실제 터미널 인터럽트의 영향을 받지 않으므로(터미널 멀티플렉서는 IO 장치가 닫혀 있음을 감지하면 단순히 출력 표시를 중지하고 출력을 내부 버퍼에 계속 저장함) 내부에서 실행 중인 애플리케이션은 SIGHUP의 영향을 받지 않습니다. 보너스로 일반적으로 최소한 몇 가지 기본 텍스트 모드 창 기능을 제공합니다.

잘 모르겠습니다tmux(활발한 개발 중), 하지만암소 비슷한 일종의 영양screen표준 RHEL 리포지토리에 포함되어야 합니다.

답변2

scp제어 tty가 있는지 확인합니다. 포그라운드 프로세스로 실행하면 진행률 표시줄이 표시되지만, 백그라운드에 놓으면 진행률 표시줄이 사라져서 내부 점검이 필요합니다. @peterph가 말했듯 이 tmux세션 에서 전송을 시작하겠습니다 screen. 사용이 무엇을 의미하는지 잘 모르겠지만 nohup제어 터미널을 활성 상태로 유지하십시오.

파일이 너무 크기 때문에 압축되지 않은 경우 전송에 압축을 추가하는 옵션 도 scp사용할 것입니다.-C

디렉토리이고 동일한 명령을 자주 재시도하는 경우 rsync를 사용해야 합니다. rsync는 파일을 전송하기 전에 먼저 파일이 다른지(md5 체크섬 사용) 확인합니다. 이 --partial옵션을 사용하여 대용량 파일 전송을 재개할 수도 있습니다 .

rsync -avz --partial --progress --rsh=ssh Files-from-Server-A [...] user@B:/tmp/

답변3

lftp(범용 터미널 파일 전송 프로그램)이 지원되며 sftp(지원되지 않지만 scp가지고 있는 경우에도 scp있을 ssh가능성이 있음 sftp) 백그라운드에서 전송을 수행하고 자동으로 다시 연결하고 전송을 재개할 수 있습니다(사용자 정의 가능한 지연 후). 실패 등

답변4

사용할 수 없나요 rsync? 이 정도 규모의 전송은 어딘가에서 중단될 수밖에 없으며, 제안된 메커니즘이 중단된 지점에서 계속될 수 있을지 확신할 수 없습니다.

관련 정보