본문 바로가기

DEV/ubuntu

rsync 이해 및 사용하기

rsync(리모트 싱크)는 파일의 타임스탬프와 크기를 확인하여 컴퓨터 시스템 간에 파일을 효율적으로 전송하고 동기화하는 유틸리티입니다. 백업 및 미러링에 널리 사용되며 일상적인 사용을 위한 개선된 복사 명령어로써의 역할을 합니다.

rsync이란?

rsync는 네트워크를 통해 두 위치 간에 파일과 디렉토리를 동기화하는 데 사용되는 빠르고 다양한 커맨드 라인 유틸리티입니다. 이 효율성은 소스와 목적지 사이의 파일 차이점만 전송하는 능력에서 비롯됩니다, 이로 인해 데이터 전송을 최소화합니다.

rsync의 주요 기능

  • 데이터 전송 효율성: 파일의 전체가 아닌 변경된 부분만 전송됩니다.
  • 링크, 디바이스, 소유자, 그룹 및 권한 복사 지원: 거의 모든 파일시스템 속성을 보존할 수 있습니다.
  • 압축 및 압축 해제: 내장된 압축 옵션으로 대역폭을 절약할 수 있습니다.
  • 리모트 쉘 전송 지원: SSH 또는 다른 쉘과 함께 안전한 전송을 위해 작동합니다.

rsync의 기본 구문

rsync 명령의 기본 구문은 다음과 같습니다

rsync [옵션] 소스 목적지

자주 사용되는 옵션들

  • -v: 상세 모드(verbose mode).
  • -r: 재귀적으로 디렉토리 복사.
  • -a: 아카이브 모드, 권한, 링크 등을 보존합니다.
  • -z: 전송 중 파일 데이터 압축.
  • --delete: 수신 측에서 불필요한 파일 삭제.

rsync 명령 예시

  • 로컬 파일 복사
rsync -avz file1.txt /경로/목적지/디렉토리/
  • 원격 서버로 파일 복사
rsync -avz file1.txt 사용자@원격서버:/경로/목적지/디렉토리/

 

rsync는 그 효율성과 다양성 덕분에 시스템 관리자와 사용자들에게 필수 도구로 자리잡았습니다. 옵션과 사용법을 잘 이해하고 사용한다면, 데이터 백업 및 동기화 작업을 효과적으로 수행할 수 있을 것입니다.