rsync를 사용하여 파일을 복사하는 방법

How Use Rsync Copy Files



Rsync는 원본 위치에서 대상 위치로 파일을 복사하는 데 사용되는 Linux의 명령줄 도구입니다. 파일, 디렉토리 및 전체 파일 시스템을 복사하고 다른 디렉토리 간에 파일을 동기화할 수 있습니다. 단순히 파일을 복사하는 것 이상을 수행합니다. 새롭거나 업데이트된 파일만 전송하여 네트워크를 통해 전송되는 데이터의 양을 줄입니다. 이것이 파일 복사 및 백업을 위한 훌륭한 유틸리티로 간주되는 이유입니다. Rsync는 SSH를 통해 원격 시스템에 파일 복사도 지원합니다.

이 기사에서는 몇 가지 실제 예제와 함께 rsync를 사용하여 파일을 복사하는 방법을 설명합니다. 또한 단일 파일, 다중 파일 및 디렉토리를 로컬 및 원격 시스템에 복사할 때 rsync를 사용하는 방법도 설명합니다. Rsync를 사용하여 다음을 수행하는 방법을 다룰 것입니다.







  • 로컬 시스템 내에서 파일/디렉토리 복사
  • 로컬에서 원격 시스템으로 파일/디렉토리 복사
  • 원격 시스템에서 로컬로 파일/디렉토리 복사

우리는 Ubuntu 20.04 LTS에서 이 기사에서 언급한 명령과 절차를 설명했습니다. rsync를 사용하여 파일을 복사하려면 명령줄 터미널이 필요합니다. 명령줄 터미널 응용 프로그램을 열려면 Ctrl+Alt+T 키보드 단축키를 사용합니다.



Rsync 설치

Rsync는 Ubuntu 20.04 LTS에 사전 설치되어 제공됩니다. 그러나 실수로 시스템에서 제거한 경우 다음과 같이 설치할 수 있습니다.



$수도적절한설치재동기화

다음은 rsync와 함께 사용할 수 있는 일반적으로 사용되는 몇 가지 옵션입니다.





-a: 아카이브 모드
-v: 복사 프로세스의 세부 정보를 표시합니다.
-p: 진행률 표시줄을 표시합니다.
-r: 데이터를 재귀적으로 복사
-z: 데이터 압축
-q: 출력 억제

파일 및 디렉토리를 로컬로 복사

rsync의 일반 구문은 다음과 같습니다.



$재동기화[옵션] [원천] [목적지]

단일 파일을 로컬로 복사

시스템 내의 한 위치에서 다른 위치로 파일을 복사하려면 다음을 입력하십시오. 재동기화 소스 파일 이름과 대상 디렉토리가 뒤따릅니다.

예를 들어, 홈 디렉토리인 현재 위치에서 ~/Documents 디렉토리로 단일 파일 file1.txt를 복사하려면 명령은 다음과 같습니다.

$재동기화//믿다/파일1.txt//믿다/서류

참고: /home/tin/file1.txt 대신 현재 홈 디렉토리에서 작업 중이므로 file1을 입력할 수도 있습니다. 또한 전체 경로를 /home/tin/Documents로 언급하는 대신 ~/Documents를 사용할 수 있습니다.

여러 파일을 로컬로 복사

시스템 내의 한 위치에서 다른 위치로 한 번에 여러 파일을 복사하려는 경우 다음을 입력하여 수행할 수 있습니다. 재동기화 소스 파일 이름과 대상 디렉토리가 뒤따릅니다.

예를 들어, 파일 file2.txt 및 file3.txt를 홈 디렉토리에서 ~/Documents 디렉토리로 복사하려면 다음 명령을 사용합니다.

$재동기화//믿다/파일2.txt//믿다/파일3.txt//믿다/서류

확장자가 같은 모든 파일을 복사하려면 파일 이름을 개별적으로 지정하는 대신 별표(*) 기호를 사용할 수 있습니다. 예를 들어, .zip 확장자로 끝나는 홈 디렉토리의 모든 파일을 ~/Documents 디렉토리로 복사하려면 다음을 사용합니다.

$재동기화//믿다/ *.zip ~/서류

디렉토리를 로컬로 복사

하위 디렉토리가 있는 디렉토리와 시스템 내의 한 위치에서 다른 위치로 모든 내용을 복사하려면 다음을 입력하십시오. 재동기화 소스 및 대상 디렉토리가 뒤따릅니다.

예를 들어 샘플 디렉토리를 홈 디렉토리 내의 test/ 디렉토리로 복사하려면 다음 명령을 사용합니다.

$재동기화-NS //믿다/견본//믿다/시험

참고: 소스 디렉토리 뒤에 /를 지정하면 디렉토리의 내용만 복사됩니다. /after 소스 디렉토리를 지정하지 않으면 소스 디렉토리도 대상 디렉토리로 복사됩니다.

다음 출력에서와 같이 소스 디렉토리 샘플이 대상 디렉토리에도 복사된 것을 볼 수 있습니다(샘플/ 대신 샘플을 소스 디렉토리로 사용했기 때문에).

Rsync는 위의 출력에서 ​​볼 수 있듯이 새롭거나 업데이트된 파일만 전송한다는 점에서 증분 전송을 지원합니다.

최대 크기에 따라 파일 복사

복사하는 동안 –max-size 옵션으로 복사할 수 있는 최대 파일 크기를 지정할 수도 있습니다. 예를 들어, ~/Downloads에서 ~/Documents 디렉토리로 2000k 이하의 파일을 복사하려면 다음 명령을 사용합니다.

$재동기화-에게 --최대 크기=2000k//믿다/다운로드/ * //믿다/서류

이 명령은 ~/Downloads에서 2000k보다 큰 파일을 제외한 모든 파일을 ~/Documents 디렉토리로 복사합니다.

최소 크기에 따라 파일 복사

마찬가지로 –min-size 옵션을 사용하여 복사할 수 있는 파일의 최소 크기를 지정할 수도 있습니다. 예를 들어, ~/Downloads에서 ~/Documents 디렉토리로 5M 이상의 파일을 복사하려면 다음 명령을 사용합니다.

$재동기화-에게 --최소 크기=5백만//믿다/다운로드/ //믿다/서류

이 명령은 ~/Downloads의 모든 파일을 5M 미만의 파일을 제외하고 ~/Documents 디렉토리로 복사합니다.

파일 제외

한 디렉토리에서 다른 디렉토리로 파일을 복사하는 동안 —exclude 옵션 뒤에 파일 이름이나 파일 유형 확장자를 사용하여 일부 파일을 제외할 수 있습니다.

예를 들어, ~/Downloads에서 ~/Documents 디렉토리로 파일을 복사하는 동안 모든 .zip 파일을 제외하려면 다음 명령을 사용합니다.

$재동기화-에게 --들어오지 못하게 하다='*.지퍼' //믿다/다운로드/ //믿다/서류

원격으로 파일 및 디렉토리 복사

Rsync를 사용하면 단일 파일, 여러 파일 및 디렉터리를 원격 시스템에 복사할 수 있습니다. 파일 및 디렉토리를 원격으로 복사하려면 다음이 필요합니다.

  • 로컬 및 원격 시스템 모두에 설치된 Rsync
  • 원격 시스템에 대한 SSH 액세스
  • 원격 사용자 비밀번호

rsync를 사용하여 파일을 복사하기 전에 SSH를 통해 원격 시스템에 액세스할 수 있는지 확인하십시오.

$SSH원격 사용자@remote_ip


rsync를 사용하여 파일과 디렉토리를 원격 시스템에 복사하기 위한 일반 구문:

$재동기화[옵션] [원천] [원격 사용자@remoteip:대상]

예를 들어, 단일 파일 file.txt를 ~/Downloads에서 원격 시스템 ~/Documents 디렉토리로 복사하려면 다음 명령을 사용합니다.

$재동기화-V~/다운로드/file1.txt 우마라@192.168.72.164:~/서류

유사하게, 하위 디렉토리와 모든 내용이 있는 로컬 시스템의 ~/Downloads/files 디렉토리를 원격 시스템의 ~/Downloads/samples 디렉토리에 복사하려면:

$재동기화-rv~/다운로드/파일 움라@192.168.72.164:~/다운로드/시료

원격 시스템에서 로컬 시스템으로 파일과 디렉토리를 복사할 수도 있습니다. 예를 들어, 원격 시스템에서 로컬 시스템 데스크탑으로 file2.txt를 복사하려면:

$재동기화-Vumara@192.168.72.164:~/다운로드/파일2.txt ~/데스크탑/

마찬가지로 원격 시스템에서 로컬 시스템으로 디렉토리를 복사하려면

$재동기화-rvumara@192.168.72.164:~/다운로드/샘플 ~/데스크탑/시험

원격 시스템으로/에서 파일을 복사하는 동안 –max-size, –min-size, –exclude 및 기타와 같은 모든 옵션을 사용할 수도 있습니다.

Rsync는 로컬 또는 원격으로 소스에서 대상으로 파일을 복사하는 훌륭한 도구입니다. 여기에는 원격 시스템으로/에서 파일을 전송하는 동안 유연성과 제어를 제공하는 다양한 옵션이 포함되어 있습니다.