기계적 인조 인간

SSH를 통해 rsync로 파일을 전송하는 방법

Sweet Tart Dough Recipe - LeGourmetTV

Sweet Tart Dough Recipe - LeGourmetTV

차례:

Anonim

네트워크상의 시스템간에 파일을 전송할 때 Linux 및 Unix 사용자는 많은 도구를 사용할 수 있습니다.

데이터 전송에 가장 많이 사용되는 프로토콜은 SSH 및 FTP입니다. FTP는 널리 사용되지만 파일을 전송하는 가장 안전한 방법이므로 항상 SSH를 사용하는 것이 좋습니다.

scp sftp 와 같은 SSH를 통한 파일 전송을위한 특수 도구가 있지만 rsync 제공하는 모든 기능이 없습니다. rsync 는 데이터 미러링, 증분 백업, 시스템 간 파일 복사 등에 사용될 수 있습니다.

이 튜토리얼에서는 rsync over SSH를 사용하여 파일을 복사하는 방법을 설명합니다.

요구 사항

  • rsync 유틸리티는 대상 및 소스 시스템 모두에 설치해야합니다. 설치되어 있지 않은 경우 배포판의 패키지 관리자를 사용하여 설치할 수 있습니다.

    우분투와 데비안:

    sudo apt install rsync

    CentOS 및 Fedora:

    sudo yum install rsync

    원격 컴퓨터에 대한 SSH 액세스.

    rsync 명령을 실행하는 사용자와 원격 SSH 사용자에게는 파일을 읽고 쓸 수있는 적절한 권한이 있어야합니다.

rsync 를 사용하여 SSH를 통한 파일 전송

rsync 를 사용하면 SSH를 통해 원격 서버와 파일 및 디렉토리를 전송할 수 있습니다.

rsync 로 파일을 전송하는 일반적인 구문은 다음과 같습니다.

Local to Remote: rsync… -e ssh… HOST:DEST Remote to Local: rsync… -e ssh HOST:SRC…

SRC 가 소스 디렉토리 인 경우 DEST 는 대상 디렉토리입니다. USER 는 원격 SSH 사용자 이름이고 HOST 는 원격 SSH 호스트 또는 IP 주소입니다.

최신 버전의 rsync는 SSH를 기본 원격 쉘로 사용하도록 구성되어 있으므로 -e ssh 옵션을 생략 할 수 있습니다.

예를 들어, 단일 파일 /opt/file.zip 을 로컬 시스템에서 /opt/file.zip 를 사용하여 원격 시스템의 /var/www/ 디렉토리로 전송하려면 다음을 실행하십시오.

rsync -a /opt/file.zip [email protected]:/var/www/

-a 옵션은 디렉토리를 재귀 적으로 동기화하고, 특수 및 블록 장치를 전송하며, 심볼릭 링크, 수정 시간, 그룹, 소유권 및 권한을 유지하는 아카이브 모드를 나타냅니다.

파일이 원격 서버에 있으면 덮어 씁니다. 파일을 다른 이름으로 저장하려면 새 이름을 지정하십시오.

rsync -a /opt/file.zip [email protected]:/var/www/file2.zip

원격에서 로컬 시스템으로 데이터를 전송하려면 원격 위치를 소스로 사용하고 로컬 위치를 대상으로 사용하십시오.

rsync -a [email protected]:/var/www/file.zip /opt/

SSH를 통한 rsync 디렉토리를 전송하는 것은 파일을 전송하는 것과 같습니다.

rsync 는 후행 슬래시 ( / 를 사용하여 소스 디렉토리에 다른 처리를 제공한다는 것을 알아야합니다. 소스 디렉토리에 슬래시가 있으면 rsync 는 소스 디렉토리의 내용 만 대상 디렉토리로 복사합니다. 후행 슬래시가 생략되면 소스 디렉토리가 대상 디렉토리 내에 복사됩니다.

예를 들어, 로컬 /opt/website/images/ 디렉토리를 원격 시스템의 /var/www/images/ 디렉토리로 전송하려면 다음을 입력하십시오.

rsync -a /home/linuxize/images/ [email protected]:/var/www/images/

로컬 및 원격 디렉토리를 동기화하려면 --delete 옵션을 사용하십시오. 소스 디렉토리에없는 경우 대상 디렉토리의 파일을 삭제하므로이 옵션을 사용할 때는주의하십시오.

rsync -a --delete /home/linuxize/images/ [email protected]:/var/www/images/

원격 호스트의 SSH가 기본값 22 이외의 포트에서 청취중인 경우 -e 옵션을 사용하여 포트를 지정하십시오. 예를 들어 SSH가 포트 3322 수신 대기중인 경우 다음을 사용합니다.

rsync -a -e "ssh -p 3322" /home/linuxize/images/ [email protected]:/var/www/images/

대량의 데이터를 전송할 때 화면 세션 내에서 rsync 명령을 실행하거나 -P 옵션을 사용하여 전송 중에 진행 표시 줄을 표시하고 부분적으로 전송 된 파일을 유지하도록 rsync 에 지시합니다.

rsync -a -P /home/linuxize/images/ [email protected]:/var/www/images/

결론

rsync over SSH를 사용하여 파일과 디렉토리를 복사하고 동기화하는 방법을 설명했습니다.

rsync 파일 또는 디렉토리를 제외하는 방법을 읽을 수도 있습니다.

궁금한 점이 있으면 언제든지 의견을 남겨주십시오.

rsync 터미널