기계적 인조 인간

로컬 및 원격 데이터 전송 및 동기화에 rsync를 사용하는 방법

What Happens If You Buy 1 MILLION Fake Views?

What Happens If You Buy 1 MILLION Fake Views?

차례:

Anonim

Rsync는 원격 쉘을 통한 두 위치 또는 원격 Rsync 데몬간에 파일과 폴더를 동기화하는 빠르고 다양한 명령 줄 유틸리티입니다. 소스와 대상 간의 차이 만 전송하여 빠른 증분 파일 전송을 제공합니다.

Rsync는 데이터 미러링, 증분 백업, 시스템 간 파일 복사 및 일상적인 사용을위한 scp , sftp cp 명령을 대체하는 데 사용할 수 있습니다.

이 자습서에서는 실습 예제와 가장 일반적인 rsync 옵션에 대한 자세한 설명을 통해 rsync 를 사용하는 방법을 보여줍니다.

Rsync 설치

rsync 유틸리티는 대부분의 Linux 배포 및 macOS에 사전 설치되어 있습니다. 다음을 입력하여 시스템에 설치되어 있는지 확인할 수 있습니다.

rsync --version

rsync version 3.1.2 protocol version 31

우분투와 데비안에 Rsync 설치

sudo apt install rsync

CentOS 및 Fedora에 Rsync 설치

sudo yum install rsync

Rsync 명령 구문

rsync 명령을 사용하는 방법을 시작하기 전에 기본 구문을 검토하십시오.

rsync 유틸리티 표현식은 다음 형식을 rsync .

Local to Local: rsync…… DEST Local to Remote: rsync…… HOST:DEST Remote to Local: rsync… HOST:SRC…

  • OPTION -rsync 옵션. SRC 소스 디렉토리. 대상-대상 디렉토리. USER 원격 사용자 이름 HOST -원격 호스트 이름 및 IP 주소.

rsync 는 동작의 모든 측면을 제어하는 ​​많은 옵션을 제공합니다. 가장 널리 사용되는 옵션은 다음과 같습니다.

  • -a , --archive , 아카이브 모드 -rlptgoD 와 동일합니다. 이 옵션은 rsync 에게 디렉토리를 재귀 적으로 동기화하고, 특수 및 블록 장치를 전송하며, 심볼릭 링크, 수정 시간, 그룹, 소유권 및 권한을 유지하도록 지시합니다. -z , --compress . 이 옵션은 rsync 가 대상 컴퓨터로 전송 될 때 데이터를 압축하도록합니다. 원격 시스템에 대한 연결이 느린 경우에만이 옵션을 사용하십시오. -P --partial --progress 와 동일합니다. 이 옵션을 사용하면 rsync 는 전송 중에 진행률 표시 줄을 표시하고 부분적으로 전송 된 파일을 유지합니다. 느리거나 불안정한 네트워크 연결을 통해 큰 파일을 전송할 때 유용합니다. --delete 이 옵션을 사용하면 rsync 는 대상 위치에서 외부 파일을 삭제합니다. 미러링에 유용합니다. -q , --quiet 오류가 아닌 메시지를 표시하지 않으려면이 옵션을 사용하십시오. -e . 이 옵션을 사용하면 다른 원격 쉘을 선택할 수 있습니다. 기본적으로 rsync 는 ssh를 사용하도록 구성되어 있습니다.

기본 Rsync 사용법

하나에서 다른 로컬 위치로 단일 파일을 복사하려면 다음 명령을 실행하십시오.

rsync -a /opt/filename.zip /tmp/

명령을 실행하는 사용자는 대상 위치에 대한 읽기 권한과 대상에 대한 쓰기 권한이 있어야합니다.

대상 위치에서 파일 이름을 생략하면 현재 이름으로 파일이 복사됩니다. 파일을 다른 이름으로 저장하려면 대상 부분에 새 이름을 지정하십시오.

rsync -a /opt/filename.zip /tmp/newfilename.zip

아래 예에서는 웹 사이트 파일의 로컬 백업을 만듭니다.

rsync -a /var/www/domain.com/public_html/ /var/www/domain.com/public_html_backup/

대상 디렉토리가 존재하지 않으면 rsync 가 생성합니다.

rsync 는 후행 슬래시 ( / 를 사용하여 소스 디렉토리에 다른 처리를 제공한다는 점을 언급 할 가치가 있습니다. 소스 디렉토리에 슬래시를 추가하면 디렉토리의 내용 만 대상 디렉토리에 복사됩니다. 후행 슬래시가 생략되면 rsync 는 대상 디렉토리 내부의 소스 디렉토리를 복사합니다.

Rsync를 사용하여 원격 컴퓨터와 데이터를 동기화하는 방법

원격 전송에 rsync 를 사용하는 경우 소스 및 대상 시스템 모두에 rsync 를 설치해야합니다. rsync 의 새 버전은 SSH를 기본 원격 셸로 사용하도록 구성되어 있습니다.

다음 예에서는 로컬에서 원격 시스템으로 디렉토리를 전송합니다.

rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/ 원격 시스템에 비밀번호없는 SSH 로그인을 설정하지 않은 경우 사용자 비밀번호를 입력하라는 메시지가 표시됩니다.

원격에서 로컬 시스템으로 데이터를 전송하려면 원격 위치를 소스로 사용해야합니다.

rsync -a remote_user@remote_host_or_ip:/opt/media/ /opt/media/

원격 호스트의 SSH가 기본 22 이외의 포트에서 청취중인 경우 -e 옵션을 사용하여 포트를 지정할 수 있습니다.

rsync -a -e "ssh -p 2322" /opt/media/ remote_user@remote_host_or_ip:/opt/media/

대량의 데이터를 전송할 때는 화면 세션 내에서 rsync 명령을 실행하거나 -P 옵션을 사용하는 것이 좋습니다.

rsync -a -P remote_user@remote_host_or_ip:/opt/media/ /opt/media/

파일 및 디렉토리 제외

파일이나 디렉토리를 제외 할 때는 소스 위치에 대한 상대 경로를 사용해야합니다.

파일과 디렉토리를 제외하는 두 가지 옵션이 있습니다. 첫 번째 옵션은 --exclude 인수를 사용하고 명령 줄에서 제외 할 파일과 디렉토리를 지정하는 것입니다.

다음 예에서는 node_modules 안에있는 src_directory tmp 디렉토리를 제외합니다.

rsync -a --exclude=node_modules --exclude=tmp /src_directory/ /dst_directory/

두 번째 옵션은 --exclude-from 인수를 사용하여 파일에서 제외하려는 파일과 디렉토리를 지정하는 것입니다.

rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/ /exclude-file.txt

node_modules tmp

결론

이 학습서에서는 Rsync를 사용하여 파일 및 디렉토리를 복사하고 동기화하는 방법을 배웠습니다. Rsync 사용 설명서 페이지에서 Rsync에 대해 더 많은 정보를 얻을 수 있습니다.

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

rsync 터미널