본문 바로가기

OS/Linux

Linux - Rsync 란?

728x90

rsync란?

rsync는 UNIX 및 Linux 시스템에서 파일과 디렉토리를 동기화하는 데 사용되는 툴 / 네트워크 프로토콜입니다.
원격 호스트와의 빠른 데이터 전송이 가능하여 효율적으로 파일을 복사하거나 백업할 수 있습니다. 

주로 백업용도로 사용하는 툴이며 스크립트를 만들어 cron 등에 올려 간단한 백업 시스템을 구축할 수 있습니다.

 

rsync의 장점

  1. 효율성: 변경된 데이터만 전송하므로 시간과 대역폭을 절약할 수 있습니다.
  2. 유연성: 파일, 디렉토리, 전체 시스템을 백업할 수 있는 다양한 옵션과 기능을 제공합니다.
  3. 보안: SSH를 통한 데이터 전송 옵션을 제공하여 보안성을 강화할 수 있습니다.

rsync 사용법

# rsync [옵션] [소스] [대상]

주요 옵션:

  • -v : 자세한 정보 출력
  • -a : 아카이브 모드, 대부분의 속성을 보존하며 동기화
  • -z : 데이터를 압축하여 전송
  • -h : 결과를 사람이 읽기 편한 포맷으로 출력
  • -r : 하위 디렉토리 포함하여 전송
  • -l : 심볼릭 링크도 심폴릭 링크로 복사하여 전송
  • -t : 파일 수정 시간 유지
  • -o : 소유자 정보 유지 (root 권한이 있는 사용자만 사용 가능)
  • -g : 그룹 정보 유지
  • --delete : 대상 디렉토리에서 더 이상 존재하지 않는 파일을 삭제
  • --progress : 전송 진행상황을 표시
  • --exclude : 복사 제외할 파일 지정 (로그 폴더 등)
# rsync -avhz /local/dir /local/dir2                 //   로컬 -> 로컬 동기화

# rsync -avhz /local/dir user@remote:/remote/dir     //   로컬 -> 원격 동기화

# rsync -avhz user@remote:/remote/dir /local/dir     //   원격 -> 로컬 동기화

# rsync -avhz --exclude '*.log' /local/dir user@remote:/remote/dir     //   로그 파일 제외

 

 

반응형

 

 

rsync와 scp의 차이점

rsync와 scp 모두 파일을 원격 위치로 전송하는 데 사용되는 툴입니다. 

scp란?  2023.03.10 - [OS/Linux] - Linux - 서버 간 파일 복사 명령어(scp) / 원격 파일 복사

1. 동기화 기능

  • rsync: rsync의 주요 기능은 파일 동기화입니다. 소스와 대상 간의 변경된 파일만을 전송합니다. 
  • scp: scp(Secure Copy)는 파일을 안전하게 복사하기 위해 SSH를 사용하는 파일 전송 툴입니다.
    scp는 동기화 기능을 제공하지 않으며, 파일을 처음부터 끝까지 복사합니다.

2. 성능과 효율

  • rsync: 이미 전송된 파일의 일부가 다를 경우, 변경된 부분만을 전송하여 네트워크 대역폭을 절약하고 전송 시간을 단축합니다.
  • scp: 모든 파일을 처음부터 전송하기 때문에 rsync보다 더 많은 대역폭과 시간이 소요됩니다.

3. 옵션과 사용자 정의

  • rsync: 파일 동기화를 위한 다양한 옵션을 제공합니다. 옵션에 따라 파일 권한, 소유자, 타임스탬프 등을 보존하거나 특정 파일을 제외하는 기능, 증분 백업 등 고급 기능을 지원합니다.
  • scp: 기본적인 파일 전송 기능 외에 몇 가지 옵션을 제공하지만, rsync만큼 다양하거나 강력하지 않습니다.

4. 사용 사례

  • rsync: 주로 백업용도로 사용되며 웹 사이트 및 시스템 백업, 원격 파일 서버와의 동기화 등에 효과적입니다.
  • scp: 간단하게 파일을 한 위치에서 다른 위치로 복사할 때 사용합니다.
# find ./* -mtime -7 | rsync -rltgoDvPz . admin@123.123.123.123::NAS/
7일 이내 수정된 파일을 찾아서 123.123.123.123 서버의 NAS로 파일 동기화 시킴
728x90
반응형