Rsync Tips : 압축하여 파일 전송과 백업 하기
Rsync는 리눅스에서 아주 유용한 파일동기화/백업툴로 다음과 같은 특징을 갖고 있다.
1. 양방향 파일 Sync 기능
- 파일을 양쪽 서버간 Sync를 하거나 Append 하여 받을수도 있고 보낼수도 있어
2. 업데이트 된 파일만 전송 하므로 Ftp보다 파일 관리가 유용하다.
3. 백업 대용 툴
- 서버의 Data를 백업 받을때 유용하다.
- 파일 권한 날짜, 파일 UID, GUID 등 모든 속성을 유지하여 동기화가 가능하다.
4. ssh를 이용하여 데이터를 송수신과 로그인을 통하므로 안전하다.
5. rsync.conf를 통해서 정의된 Alias를 통해서 패스워드 없이 지정된 폴더에 대한 파일 동기화가 가능하다.
# 파일을 압축 Stream으로 전송하여 패킷 사이즈를 줄여야 할때
* 파일 전송시 zip 압축을 통해서 보내는 경우 압축 하는 시간이 있어 속도는 줄어 든다
그러나 데이터 패킷을 줄일수 있어 그만큼 시간이 줄어 든다.
* 데이터의 압축율은 구성되는 파일의 종류에 따라 다르지만
일반적으로 압축은 TEXT 파일은 90%로 줄어들며 이미지 같은 Binary 파일은 10%내외로 만 줄어 든다
아래 예제는 51488604 byte 에서 39994027 byte 전송 패킷이 30% 줄어 든 예시이다.
- SRCS는 Aliase로 선언된 것이다 28.1.19.130 서버에 참조와 같이 rsync.conf 가 설정된 경우이다.
[비압축으로 전송시]
rsync -ar --progress 21.1.19.130::SRCS/websrc .
sent 20392 bytes received 51488604 bytes 2102408.00 bytes/sec
total size is 51417467 speedup is 1.00
real 0m48.746s
user 0m0.285s
sys 0m0.317s
[압축하여 전송시]
rsync -avzr --progress 28.1.19.130::SRCS/websrc .
sent 20393 bytes received 39994027 bytes 2286538.29 bytes/sec
total size is 51417467 speedup is 1.28
real 0m42.037s
user 0m0.527s
sys 0m0.260s
참고로
아래와 같이 rsync config를 등록하여 사용시 allow 되는 host들만 접근하는 폴더를 지정하여 사용하고
지정되 Alias를 통해서 접근 하는경우 ssl 로그인 과정을 거치지 않으므로 Cron 작업이 가능해진다.
#### /etc/rsyncd.conf #######
# Global Define Paramters
uid = 1000
gid = 1000
max connections = 20
timeout 600
hosts allow = 18.7.1.7 10.20.30.0/24 218.51.179.0/24 121.254.157.0/24
# Alias and local Define Paramters
[SRCS]
path = /usr/local/src
comment = Linux Install Source Pub
use chroot = yes
read only = yes
# - 읽기 권한만 가지도록 설정
[HADOOP_DATA]
comment = HADOOP DATA
path = /data/HADOOP_DATA
use chroot = yes
read only = no
uid = 2000
gid = 2000
# - 읽기,쓰기 권한을 가지도록 설정
# 파일 권한을 uid=2000인 사용자만 Write 가능함
'InfraPlatform' 카테고리의 다른 글
[Bash Shell-Script 기초] awk, cut, sort 활용 (0) | 2014.06.16 |
---|---|
[Bash Shellscript 기본다지기] 파일 관리 ( find , wc , grep ) : 중.상급 (0) | 2014.06.16 |
[Bash Shellscript 기본다지기 - for loop ]구구단을 출력하는 셀스크립 (초급) (0) | 2014.05.29 |
VNC 로 리눅스 X윈도우를 컨트롤 한다. (0) | 2014.03.07 |
[Bash Shell-Script 기초 다지기] - Rsync를 이용한 디렉토리 복사-복제 (0) | 2014.03.07 |
iMac Recoverty : safe mode and using MacOsX CD (0) | 2011.04.16 |
CentOS 5.2 + Qt 4.5 + FcFreeTypeQueryFace / (0) | 2009.11.06 |