Linux,Unix,BSD

rsyncd 설정하기 - FreeBSD

채윤아빠 2008. 6. 26. 22:32
728x90
반응형
1. 개요
   서버와 클라이언트간의 파일을 동기화하기 위한 툴로 많이 사용되고 있는 툴입니다. 유닉스나 리눅스에서는 rsync(http://rsync.samba.com/)을 Windows에서는 cwRsync()를 이용합니다.

2. 설치
   1) 포트를 이용하여 아래와 같이 간단하게 설치할 수 있습니다.
cd /usr/ports/net/rsync
make install clean

   2) rsyncd.conf 설정하기(/usr/local/etc/rsyncd.conf)

#uid = nobody
#gid = nobody
use chroot = yes # 보안상 지정한 경로를 최상위로 둠
read only = yes # 읽기 전용 설정. PUT을 지원(클라이언트에서 서버로 업데이트)하기 위해서는 yes로 설정
hosts allow = mydomain.com # 접근 가능한 호스트
#max connections = 4
#syslog facility = local5

#[ftp]
#       path = /var/ftp/pub
#       comment = whole ftp area (approx 6.1 GB) #[sambaftp]
#       path = /var/ftp/pub/samba
#       comment = Samba ftp area (approx 300 MB)

   3) rc.conf 설정하기(/etc/rc.conf)

rsyncd_enable="YES" # rsyncd 데몬이 실행될 수 있도록 함
3. 운영(백업 : rsync)

   1) rsync를 이용한 서버의 파일 동기화    
Access via rsync daemon:
         Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
               rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
         Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
               rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

Access via remote shell:
         Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
         Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
    2) 서버의 파일 동기화
rsync -avz mydomain.com:ftp /home/rsync/ftp # 서버의 rsyncd(873 포트) 데몬을 통한 방법
rsync -avz -e ssh mydomain.com::ftp /home/rsync/ftp # SSH를 통한 방법

    3) rsync 옵션 설명(주로 사용하는 것들)
-a : tar와 같이 압축하여 보내기(archive)(rlptgoD 옵션을 한꺼번에 준것과 동일 : 서브 디렉토리 포함 등)
-e : rsh, ssh 를 통하여 동기화 ( :: )
--password-file : -e 옵션으로 rsh나 ssh로 동기화할 때 미리 저장해 둔 비밀번호 파일을 지정(보안상 배제)
-u : update only
-v : 동기화 과정을 상세히 표시
-z : 압축하여 전송
--delete : 대상에는 있지만 원본에 없는 없는 파일을 자동 삭제
--exclude [패턴] : 패턴의 파일들은 제외
--include [패턴] : 패턴의 파일 포함