Skip to content

Rsync #
Find similar titles

Structured data

Category
Etc

Rsync로 손쉽게 백업해보자! #

rsync는 빠르고 다양한 기능을 가진 파일 복사 도구이다. 로컬에서 로컬뿐만 아니라 원격으로도 빠르고 편리하게 파일을 복사할 수 있어 백업 용도로 많이 사용된다.

rsync의 최대 장점은 소스파일과 대상의 기존 파일 간의 차이만 전송하여 네트워크를 통해 전송되는 데이터의 양을 줄이는 데이터 전송 알고리즘을 사용하는 것이다. 이를 통해 파일 전송중 끊겨도 명령어만 다시 실행하면 이어서 다시 복사가 진행되며 소스와 대상간의 차이점만 찾아서 전송하기 때문에 파일을 효율적으로 복사할 수 있다.

rsync는 다음과 같은 추가 기능을 가지고 있다.

  1. Link, device, 파일의 소유자와 그룹 권한(permissions)등 파일의 부가정보도 복사 가능
  2. GNU tar와 유사한 exclude 와 exclude-from의 옵션 제공
  3. ssh, rsh를 포함한 원격 쉘을 사용 가능
  4. Super user 권한이 필요하지 않음
  5. 대기시간을 최소화 하기 위한 파일 전송의 파이프 라이닝
  6. 익명 또는 인증된 rsync 데몬 지원(미러링에 이상적임)

사용법 #

$ rsync options source destination

주요 옵션 #

-v : 진행 상황을 상세하게 보여줌

-r : 지정한 디렉토리의 하위 디렉토리까지 재귀적으로 실행

-l : 소프트 링크 보존

-H : 하드 링크 보존

-p : 버전 속성 보존

-o : 소유 속성 보존(루트)

-g : 그룹 속성 보존

-t : 타임스탬프 보존

-D : 디바이스 파일 보존(루트)

-z : 데이터 압축 전송

-b : 낡은 파일은 ~가 붙음

-u : 추가된 파일만 전송 새 파일은 갱신하지 않음

--existing : 추가된 파일은 전송하지 않고 갱신된 파일만 전송

--delete : 서버에 없는 파일은 클라이언트에서도 삭제

-a : 아카이브 모드. rlptgoD를 자동 지정

-c : 서버와 클라이언트의 파일 크기를 세밀히 체크

--stats : 결과를 보고

-e ssh(rsh) : 전송 암호화

로컬PC에서 파일과 폴더 복사하기 #

로컬에서 파일 복사 방법

$ rsync -zvh backup.tgz /data/backup/

로컬에서 폴더 복사 방법

$ rsync -avzh backup/ /data/backup/

서버로부터 복사하기 #

로컬에서 원격 서버로 폴더 복사하기

$ rsync -avz backup/ user@example.com:/data/backup

원격 서버에서 로컬로 폴더 복사하기

$ rsync -avzh user@example.com:/data/backup ./
0.0.1_20210630_7_v33