Pages

Saturday, February 13, 2010

우분투 rsync 설정하기 3

출처 : http://mcchae.egloos.com/10156347

한쪽은 ubuntu (U서버라 가정, 192.168.1.10), 다른 한쪽은 gentoo(G서버라 가정, 192.168.1.11) 서버라 가정하고
서로 양쪽에 백업할 대상이 있다고 할 때, 백업하는 과정은 다음과 같다.

U서버에서 패키지 설치.
U# apt-get install xinetd rsync

G 서버에서 패키지 설치.
G# emerge -av xinetd rsync

U서버와 G서버의 /etc/xinetd.d/rsyncd 파일을 만들어 아래와 같이 작성

# vi /etc/xinetd.d/rsyncd
service rsync
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
disable = no
only_from = 192.168.1.10 192.168.1.11 # specify ip address
}

그 다음 xinet 재기동
# /etc/init.d/xinetd restart

그 다음 /etc/rsyncd.conf 를 다음과 같이 수정 (또는 생성)
# vi /etc/rsyncd.conf
[Backup]
path = /work
comment = src server
uid = nobody
gid = nobody
use chroot = yes
read only = yes
host allow = 192.168.1.10 192.168.1.11
max connection = 1
timeout 300

(/work 대신 백업할 디렉터리를 서로 지정해 준다)
위에서 ubuntu인 경우 nobody라는 group이 없는데,
/etc/group 에서 nobody를 nogroup 아래에다 추가해줌 (nobody를 65534 라 하고, nogroup을 65533 이라 했음)

그 다음 아래와 같이 root의 crontab에 추가
# mkdir -p /bkup
# crontab -e
33 * * * * rsync -az --delete 192.168.1.10::Backup /bkup/work

(위의 192.168.1.10 에다가는 상대방 서버의 IP 또는 hostname을 넣어준다)

이렇게 하면 양방향의 백업이 완성된다.

No comments: