rsync 설정

서버 구성관련 내용을 정리하면서 백업에 꼭 필요한 rsync 설정을 테스트했다. 비교적 간단한 설정만으로 rsync를 사용할 수 있다는 게 놀랍다.

newrsynclogo

0. rsync 설치

centos에는 설치시에 기본적으로 설치가 되는 듯 하다. 설치가 되어 있는지 확인하려면 아래 명령어를 입력하면 된다.

# rpm -qa | grep rsync

설치되어 있지 않다면 yum 을 이용해 설치한다.

# yum install rsync

1. rsync 서버설정

rsync는 xinetd와 연동돼서 실행된다. 우선 rsync 설정을 변경한다.

# vi /etc/xinetd.d/rsync

# default: off
# description: The rsync server is a good addition to an ftp server, as it \
#       allows crc checksumming etc.
service rsync
{
        disable = yes
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}

disable = yes 부분을 no로 수정한 후 저장한다. 다음으로 rsyncd.conf 파일을 추가 또는 수정한다.

# vi /etc/rsyncd.conf

[www1-data]
comment = www1 data backup
path = /home/www/data
uid = nobody
gid = nobody
use chroot = yes
read only = yes
host allow = 192.168.1.126
max connections = 5
timeout = 60

[www1-data] 서비스명으로 사용되는 부분으로 적절히 수정한다. path = /home/www/data는 백업할 소스 데이터가 있는 경로를 지정한다. host allow = 192.168.1.126 에서 rsync 서버에 접속할 수 있는 ip를 지정해준다. 다음으로 방화벽 설정에서 873번 포트를 오픈해준다.

# vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT

서버의 설정은 끝났다. xinetd 와 iptables를 재시작해준다.

2. 클라이언트에서 rsync 사용

# rsync -avz --exclude 'session' 192.126.1.124::www1-data /home/www/data

위 명령어는 192.168.1.124 서버에 접속해 데이터를 /home/www/data 에 저장하는 것이다. exclude 로 session 을 지정했는데 백업시 session 디렉토리는 백업하지않는다. cron을 이용해 주기적으로 실행하면 백업이 자동으로 진행된다.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.