[리눅스] rsync 사용법 (파일/디렉토리 복사 및 동기화, 대역폭 제한)

반응형

rsync 명령어

개념

- Remote Sync의 줄임말

- 원격 또는 로컬에 파일/디렉토리 복사하는 명령어.

- scp / rcp 처럼 리눅스 내장 명령어

- 옵션(네트워크 대역폭 제어, 심볼릭 링크, 권한, 파일 수정일 등을 유지)이 다양

 

장점

- 효율적인 파일/디렉토리 복사 및 동기화 가능

- 심볼릭 링크, 소유자, 권한, 파일 수정일 등 파일/디렉토리 각종 정보도 복사 가능

- rsync 최초 사용 시 모든 파일/디렉토리를 복사, 그 이후에는 Remote Update 프로토콜을 이용해 변경된 부분만 복사하기에 scp 보다 빠름 (난 동기화 필요 + 큰 파일은 rsync로, 작거나 주기적인 동기화가 필요 없는 1회성 복사는 scp를 사용함)

- 데이터 압축 후 송/수신하기에 적은 대역폭 사용

- 네트워크 대역폭 조절이 가능해 업무 시간에도 적절하게 사용할 수 있음

 

옵션

-v : verbosity 높이는 옵션, 복사 과정 상세 출력

-z : compress 옵션, 파일 복사 시 압축해서 진행

-h : 읽기 쉬운 형태로 결과 출력

-a (same as -rlptgoD) : archive 모드, 아래의 -rlptgoD 옵션을 적용한것과 같음, symboliclink, 권한, timestamp와 같은 속성들을 그대로 복사

-r : 디렉토리 복사

-l : symboliclink 유지

-p : 권한 유지

-t : 수정시간 유지

-g : 그룹 속성 유지

-o : 소유자 속성 유지

-D (same as --devices --specials) : --devices --specials 옵션과 같음

--devices : root 권한이 필요, Device 관련된 파일 복사 후 생성해줌

--specials : named socket이나 fifo와 같은 특수한 파일 복사

--progress : 진행 상황

--stats : 결과 보고

--delete : 원본 서버에 없는 파일은 백업 서버에서 삭제

--exclude : 제외 파일 지정

--bwlimit : 네트워크 대역폭 제어

--daemon : rsync를 데몬 모드로 실행

--max-size : 지정 크기 이상인 파일 제외 (rsync 2.6.4 버전부터 사용 가능)

--min-size : 지정 크기 이하 파일 제외 (rsync 2.6.7 버전부터 사용 가능)

 

예제

원격지로 파일 또는 디렉토리 복사(동기화)

#rsync -avzh [파일명 또는 디렉토리명] [USER]@[Remote Server IP]:[PATH]

# 예시 
# 파일명 : abc.txt
# 원격지 USER : eloquence
# 원격지 IP : 192.168.0.100
# 원격지 경로 : /home/eloquence/test

#rsync -avzh abc.txt eloquence@192.168.0.100:/home/eloquence/test/

 

대역폭 제한 설정 후 원격지로 파일 또는 디렉토리 복사(동기화) - 업무 시간 또는 네트워크 부하를 줄이고자 할 때

# rsync -avzh -bwlimit [KByte/s] [파일명 또는 디렉토리명] [USER]@[Remote Server IP]:[PATH]
# 예시 
# 파일명 : abc.txt
# 원격지 USER : eloquence
# 원격지 IP : 192.168.0.100
# 원격지 경로 : /home/eloquence/test

# rsync -avzh -bwlimit 1024 abc.txt eloquence@192.168.0.100:/home/eloquence/test // 초당 1MB
# rsync -avzh -bwlimit 1048576 abc.txt eloquence@192.168.0.100:/home/eloquence/test // 초당 1GB

# 참고
1MB = 1024KByte
10MB = 10240KByte
100MB = 102400KByte
200MB = 204800KByte
500MB = 512000KByte
1G = 1048576KByte
2G = 2097152KByte
5G = 5242880KByte
10G = 10485760KByte
반응형

댓글

Designed by JB FACTORY