웹사이트 검색

Rsync를 사용하여 Linux에서 새 파일 또는 변경/수정된 파일을 동기화하는 방법


시스템 관리자 또는 Linux 고급 사용자라면 사용자가 로컬 및 원격으로 파일을 신속하게 복사하거나 동기화할 수 있는 다용도 Linux Rsync 도구를 여러 번 접했거나 사용한 적이 있을 것입니다. 또한 백업 작업 및 미러링에 널리 사용되는 훌륭한 도구이기도 합니다.

뛰어난 기능과 장점 중 일부는 다음과 같습니다. 원격 쉘 또는 원격 rsync로/에서 로컬로 복사할 수 있다는 점에서 매우 다재다능하며, 사용자가 복사할 파일 수를 원하는 만큼 지정할 수 있다는 점에서 매우 유연합니다.

권장 읽기: Linux에서 Rsync 명령의 10가지 실제 예

또한 링크, 장치, 파일 또는 디렉터리 소유자, 그룹 및 권한의 복사를 허용합니다. 또한 더 많은 기능과 함께 루트 권한 없이 사용을 지원합니다.

Linux의 다른 파일 복사 명령과 비교할 때 rsync의 중요한 차이점 중 하나는 원격 업데이트 프로토콜을 사용하여 파일이나 디렉터리 내용 간의 차이점만 전송한다는 것입니다.

따라서 이 기사에서는 rsync가 Linux에서 백업을 만드는 동안 새롭거나 변경된 파일이나 디렉터리 콘텐츠만 동기화하는 데 어떻게 도움이 되는지 살펴보겠습니다.

우선 rsync를 사용하는 일반적이고 간단한 형태는 다음과 같다는 점을 기억해야 합니다.

rsync options source destination 

즉, 위의 개념이 실제로 어떻게 작동하는지 알아보기 위해 몇 가지 예를 살펴보겠습니다.

Rsync를 사용하여 로컬로 파일 동기화

아래 명령을 사용하여 내 Documents 디렉터리의 파일을 로컬에서 /tmp/documents 디렉터리로 복사할 수 있습니다.

rsync -av Documents/* /tmp/documents

위 명령에서 옵션은 다음과 같습니다.

  1. -a – 아카이브 모드를 의미합니다.
  2. -v – 진행 중인 작업의 세부 정보를 표시하는 장황함을 의미합니다.

기본적으로 rsync는 새 파일이나 변경된 파일만 소스에서 대상으로 복사합니다. Documents 디렉토리에 새 파일을 추가하면 동일한 명령을 실행한 후에 이런 일이 발생합니다. 두 번째:

rsync -av Documents/* /tmp/documents

명령 출력을 보면 알 수 있듯이 새 파일만 대상 디렉터리에 복사됩니다.

권장 읽기: Rsync를 사용하여 두 개의 Apache 웹 서버/웹 사이트를 동기화하는 방법

--update 또는 -u 옵션을 사용하면 rsync가 대상 디렉토리에 아직 새로운 파일을 건너뛸 수 있으며 중요한 옵션 중 하나는 --dry-run 또는 -n을 사용하면 변경하지 않고 테스트 작업을 실행할 수 있습니다. 복사할 파일이 무엇인지 보여줍니다.

rsync -aunv Documents/* /tmp/documents

테스트 실행을 실행한 후 -n을 없애고 실제 작업을 수행할 수 있습니다.

rsync -auv Documents/* /tmp/documents

로컬에서 원격 Linux로 파일 동기화

아래 예에서는 IP 주소가 10.42.1.5인 원격 서버로 로컬 컴퓨터의 파일을 복사하고 있습니다. 원격 시스템에 존재하지 않는 로컬 시스템의 새 파일만 동기화하려면 --ignore-existing 옵션을 포함할 수 있습니다.

rsync -av --ignore-existing Documents/* [email :~/all/

이후 로컬 컴퓨터에서 변경된 원격 컴퓨터의 업데이트되거나 수정된 파일만 동기화하려면 다음과 같이 파일을 복사하기 전에 연습 실행을 수행할 수 있습니다.

rsync -av --dry-run --update Documents/* [email :~/all/
rsync -av --update Documents/* [email :~/all/

기존 파일을 업데이트하고 대상에 새 파일이 생성되는 것을 방지하기 위해 --existing 옵션을 활용합니다.

man rsync 페이지를 실행하면 고급 사용에 유용한 추가 옵션을 찾을 수 있습니다. 앞서 언급했듯이 rsync는 매우 강력하고 다재다능한 Linux 도구이며 많은 시스템 관리자와 Linux 고급 사용자는 이것이 얼마나 유리한지 알고 있습니다.

가장 중요한 것은 여기에서 다룬 예제에 대한 의견을 공유할 수도 있고 더 나아가 아래 설명 섹션을 통해 이 중요한 명령줄 도구 사용에 대한 귀중한 팁을 제공할 수도 있다는 것입니다.