본문 바로가기
Server&OS/Linux

rsync로 서버 백업하기

by 백룡화검 2008. 10. 16.
백업 서버가 별도로 있는 경우
rsync 와 cron 을 이용해
주기적으로 백업을 할 수 있습니다.

--------------------------------------------------------------------
개인적인 경험으로는
백업을 받을때 rsync 로 받는 방법과
NFS 로 원본 디스크를 마운트 해 놓고 카피 하는 방법 두가지 중에
NFS 가 속도도 빠르고 서버에 부하도 적게 걸리는것으로 확인 되었습니다.

다만 NFS 가 보안상 좋지가 않아 .. 조금 찝찝하다고 하는데
아직까지 제가 해 본 바로는 문제는 없었습니다.
---------------------------------------------------------------------


rsync 홈페이지 - http://rsync.samba.org/


Redhat 7.3 에는 기본적으로 rsync 가 설치 됩니다.
( 생각해 보니 이 말도 좀 어패가 있군요. 설치할때 선택 안하면 안깔릴 수도 있는데 ..
   여하간.. 기본적인 설치가 되어 있다는 전제 하에 설명 드립니다. )

또한

원본서버 : 123.123.123.1
백업서버 : 123.123.123.2

라고 가정하고 .. 1번 서버에 있는 파일들을 2번 서버에 주기적으로 백업하는
작업을 구성해 보겠습니다.


설치 확인

[root@myserver]# rpm -qa|grep rsync
rsync-2.5.4-2


우선  원본서버 ( 123.123.123.1 ) 에  /etc/rsyncd.conf 파일을 생성합니다.

------------------ /etc/rsyncd.conf -------------------
[origin]
path = /home/www
comment = webserver1
uid = nobody
gid = nobody
use chroot = yes
read only = yes
hosts allow = 123.123.123.2
max connections = 3
timeout 600
--------------------------------------------------------

맨 위에 [origin] 은 2번 서버 세팅시 필요한 부분입니다.
path 는 백업을 받을 디렉토리를 설정 하는 부분입니다.
hosts allow 는 rsync 접속을 허용할 IP 입니다.


그리고 나서 /etc/xinetd.d/rsync 파일을 편집합니다.

----------------- /etc/xinetd.d/rsync ------------------------------------
# default: off
# description: The rsync server is a good addition to am 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
-------------------------------------------------------------------------

disable 을 no 로 설정 해 주면 데몬 사용 허가로 설정 됩니다.

이제 rsync 데몬을 실행 합니다.

[root@myserver]# /etc/rc.d/init.d/xinetd reload
Reloading configuration: [  OK  ]


rsync 데몬이 정상적으로 떠 있는지 확인 해 봅니다.
rsync 데몬은 873 포트를 이용하니


[root@myserver]# telnet localhost 873
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
@RSYNCD: 26


rsync 데몬이 정상 반응 하는것을 확인 했습니다.


이제 백업 서버 ( 123.123.123.2 ) 서버에서 cron 설정을 해 주면 됩니다.


출처 : PHPSCHOOL.COM Tip&Tech 뒷북불사님

'Server&OS > Linux' 카테고리의 다른 글

crontab 설정  (0) 2009.07.29
tar 명령어  (0) 2009.07.10
웹서버 부하 분산을 위한 허접한 로드밸런싱  (0) 2008.10.16
[서버운영] ssh 를 이용한 rsync 및 스크립트  (0) 2008.10.16
Yum-HOWTO  (0) 2008.10.15