InfraPlatform

Rsync Tips : 압축하여 파일 전송과 백업 하기

IT오이시이 2011. 4. 11. 14:01
728x90


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 가능함

728x90
반응형