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을 이용해 주기적으로 실행하면 백업이 자동으로 진행된다.

편리

PHP와 MariaDB, jQuery 등을 사용해 게시판, 쇼핑몰 솔루션을 개발합니다. 그누보드5와 영카트5 개발에 참여 했습니다. Linux와 Nginx는 물론 WordPress, Git 등에도 관심이 많습니다. 자전거 타기 및 사진 촬영을 취미로 하고 있습니다.

카카오톡 플러스친구 채팅 : NCUBE.NET

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.