리눅스에서 다량의 파일들을 전송/수신하고, 데이터 증분치에 대한 반영을 할 수 있는 가장 좋은 방법은 rsync가 아닐까 생각한다.(혹시 더 좋은 방법이 있으면 추천 부탁드립니다.) rsync 서버 및 클라이언트 설정 방법을 정리해본다. 여기서는 192.168.123.10에 있는 데이터를 192.168.123.11로 가져가는 예시를 들어본다.



<rsync 서버 설정>


rsync 서버 설정 1) rsync 패키지 확인

# rpm -qa | grep rsync


** 설치가 안 되어있을 경우

# yum install rsync



rsync 서버 설정 2) xinetd 패키지 확인

# rpm -qa | grep xinetd


** 설치가 안 되어있을 경우

# yum install xinetd



rsync 서버 설정 3) rsnyc 사용 설정

# vi /etc/xinetd.d/rsync

'disable = yes' 라고 되어있는 부분을 'disable = no' 로 변경한다.


===================================================================

# default: off

# description: The rsync server is a good addition to an ftp server, as it \

#       allows crc checksumming etc.

service rsync

{

        disable = no

        socket_type     = stream

        wait            = no

        user            = root

        server          = /usr/bin/rsync

        server_args     = --daemon

        log_on_failure  += USERID

}

===================================================================



rsync 서버 설정 4) rsync 설정

# vi /etc/rsyncd.conf

/etc/rsyncd.conf의 경우 처음에는 없는 파일일 가능성이 높다. 편집기를 이용해 새로 작성해준다.


====================================================

[rsync_test]                                 -> 사용할 rsync 서비스 이름

path=/data/rsync_test/                  -> 데이터 원본 경로

comment = rsync_test                   -> 코멘트

uid = root                                       -> 권한 사용자

gid = root                                       -> 권한 그룹

use chroot = yes

read only = yes

hosts allow = 192.168.123.11     -> rsync 클라이언트 IP. localhost일 경우 입력하지 않아도 됨

max connections = 3

timeout=600

====================================================



rsync 서버 설정 5) xinetd 서비스 재시작 및 방화벽 확인

# /etc/init.d/xinetd restart


보통 iptables 에서 포트가 막혀있는 경우가 많다.

rsync는 873 포트를 사용하므로, 873 포트 허용해준다.




<rsync 클라이언트 설정>


rsync 클라이언트 설정 1) rsync 접속 여부 확인

# telnet [rsync 서버 IP] 873

ex) telnet 192.168.123.10 873

telnet을 이용하여 873 포트가 정상적으로 연결되는지 확인한다.




rsync 클라이언트 설정 2) rsync 실행

# rsync -avz [IP]::[서비스명] 저장디렉토리

ex) # rsync -avz 192.168.123.10::rsync_test /data/rsync_test


혹시 내역을 로그로 남기고 싶을 경우 아래와 같이 입력한다.

rsync -avz 192.168.123.10::rsync_test /data/rsync_test > /data/rsync.log