Linuxpia/리눅스 사용 팁

[리눅스 팁] `rsync`를 사용한 효율적인 파일 동기화

Linuxpia4U 2024. 6. 27. 05:26
반응형

rsync를 사용한 효율적인 파일 동기화

rsync는 파일과 디렉터리를 동기화할 때 유용한 강력한 도구입니다. 로컬 및 원격 시스템 간에 효율적인 데이터 전송을 제공하며, 네트워크 대역폭을 절약할 수 있습니다. 여기서는 rsync의 주요 기능과 사용법에 대해 자세히 설명합니다.

주요 기능

  • 차분 전송: 변경된 부분만 전송하여 전송 시간을 줄이고 네트워크 대역폭을 절약합니다.
  • 복제 및 백업: 로컬 디렉터리, 원격 서버와의 파일 동기화 및 백업에 유용합니다.
  • 옵션 다양성: 압축, 삭제, 퍼미션 유지 등 다양한 옵션을 제공하여 유연한 파일 전송을 지원합니다.

설치

대부분의 리눅스 배포판에서 rsync는 기본적으로 설치되어 있습니다. 설치되지 않은 경우, 다음 명령어를 사용하여 설치할 수 있습니다.

Ubuntu/Debian
sudo apt-get update
sudo apt-get install rsync
CentOS/RHEL
sudo yum install rsync
Fedora
sudo dnf install rsync

기본 사용법

로컬 디렉터리 복사

로컬 디렉터리 간의 파일을 복사하려면 다음 명령어를 사용합니다:

rsync -avh /source/directory/ /destination/directory/

여기서 -a는 아카이브 모드(파일 속성 유지, 재귀적 복사)를 의미하고, -v는 자세한 출력을, -h는 사람이 읽기 쉬운 형식을 의미합니다.

caption: 로컬 디렉토리간의 파일 복사

원격 서버로 파일 동기화

로컬 디렉터리의 파일을 원격 서버로 동기화하려면 다음 명령어를 사용합니다:

rsync -avh /local/directory/ user@remote:/remote/directory/

여기서 user는 원격 서버의 사용자 이름을, remote는 원격 서버의 호스트 이름 또는 IP 주소를 나타냅니다.

원격 서버에서 파일 가져오기

원격 서버에서 로컬 디렉터리로 파일을 동기화하려면 다음 명령어를 사용합니다:

rsync -avh user@remote:/remote/directory/ /local/directory/

자주 사용되는 옵션

삭제 옵션

원본 디렉터리에서 삭제된 파일을 대상 디렉터리에서도 삭제하려면 --delete 옵션을 사용합니다:

rsync -avh --delete /source/directory/ /destination/directory/

압축 옵션

파일 전송 시 압축을 사용하여 전송 속도를 높이고 네트워크 대역폭을 줄이려면 -z 옵션을 사용합니다:

rsync -avzh /source/directory/ user@remote:/remote/directory/

부분 전송 옵션

전송 중단 시 재개할 수 있도록 부분적으로 전송하려면 --partial 옵션을 사용합니다:

rsync -avh --partial /source/directory/ user@remote:/remote/directory/

실용적인 예시

백업 스크립트

rsync를 사용하여 주기적으로 데이터를 백업하는 스크립트를 작성할 수 있습니다. 예를 들어, 다음과 같은 스크립트를 사용하여 로컬 디렉터리를 원격 서버에 백업할 수 있습니다:

#!/bin/bash

SOURCE="/path/to/source/"
DESTINATION="user@remote:/path/to/destination/"
LOGFILE="/path/to/logfile.log"

rsync -avh --delete $SOURCE $DESTINATION >> $LOGFILE 2>&1

이 스크립트를 cron 작업으로 설정하여 주기적으로 실행할 수 있습니다:

crontab -e

그리고 다음 줄을 추가하여 매일 자정에 스크립트를 실행하도록 설정합니다:

0 0 * * * /path/to/backup_script.sh

정리

rsync는 파일과 디렉터리를 동기화할 때 강력하고 유연한 도구입니다. 차분 전송을 통해 효율적인 파일 전송을 제공하며, 다양한 옵션을 통해 복잡한 파일 동기화 요구를 충족할 수 있습니다. 로컬 및 원격 시스템 간의 파일 동기화, 백업 스크립트 작성 등 다양한 용도로 활용할 수 있습니다. rsync의 기능과 사용법을 잘 이해하고 적절히 활용하면, 파일 관리 작업을 더욱 효율적으로 수행할 수 있습니다.

반응형