한 호스트에서 다른 호스트로 매우 큰 파일/디렉토리를 "오프라인"으로 복사하려면 어떻게 해야 합니까?

한 호스트에서 다른 호스트로 매우 큰 파일/디렉토리를 "오프라인"으로 복사하려면 어떻게 해야 합니까?

제가 관리하는 리소스 집약적인 일부 사이트에 대해 곧 VPN 서버를 구축할 계획입니다. 저는 1Mb/s의 인터넷 속도가 사치이고 지속적인 무정전 전기가 신화인 나라에 살고 있습니다.

내가 달성하려는 목표는 다음과 같습니다.

  • SSH/SCP를 통해 원본 서버에서 대상 서버로 복사된 파일 및 디렉터리를 가져오는 방법입니다.
  • 인터넷 연결이 끊기거나 전원 공급 장치가 꺼진 경우에도 서버 간에 파일을 계속 복사하는 방법.
  • 터미널 창을 닫아도 두 서버 간에 파일이 계속 복사되도록 하는 방법

scp를 통해 복사하는 것을 알고 있지만 오프라인 상태가 되어도 계속 작동하지 않는 것 같습니다.

답변1

rsync -azvP source_directory user@remote:remote_directory

중단이 발생할 경우 진행 상황을 저장하는 동안 두 컴퓨터 간에 파일을 복사할 수 있어야 합니다.

각 플래그에 대한 설명도 나와 있습니다.http://explainshell.com/explain?cmd=rsync+-azvP

로그인하지 않은 상태에서 서버에서 이 작업이 실행되도록 하려면 위 명령을 해당 nohup명령에 전달하면 됩니다. 또한 머신에 로그인할 때 세션을 연결하여 진행 상황을 모니터링하거나 명령을 다시 시작할 수 있는 tmux 세션에서 이를 실행할 수도 있습니다.

tmux서버에 입력하여 tmux 세션을 시작할 수 있습니다 . 그런 다음 rsync 명령을 실행하고 와 를 입력하여 tmux 세션에서 분리할 수 CTRL+b있습니다 d. 로그아웃해도 복사 절차에는 영향이 없습니다. 다시 로그인하면 입력을 할 수 tmux attach있으며 복사 작업의 진행 상황을 볼 수 있습니다.

도움이 되었기를 바랍니다! 명확히 할 수 있는 것이 있으면 알려주세요.

답변2

rsync 명령을 사용해 보시기 바랍니다. rsync 명령은 전송을 쉽게 재개할 수 있기 때문에 유용합니다. Rsync는 기본적으로 SSH 전송을 통해 작동하므로 클라이언트와 서버에 rsync 바이너리만 있으면 됩니다.

Rsync는 이미 전송된 내용을 감지하여 파일과 전송되지 않은 파일 부분만 전송합니다.

답변3

나는 이것이 문제를 해결해야 한다고 믿습니다.

nohup scp -r big-folder remote-machine:/home/user/ &

이 명령은 복사 프로세스를 시작하고 로그오프한 후에도 복사를 계속합니다.

관련 정보