우분투에서 rsync 를 설정 하는 방법입니다.
rsyncd 를 사용하기 위해서 xinetd 를 사용해야 하므로 xinetd 와 rsync 를 설치 합니다.

root@ruo91:~# apt-get install xinetd rsync

/etc/xinetd.d/rsync 파일을 하나 생성하고 아래 처럼 저장합니다.

root@ruo91:~# vi /etc/xinetd.d/rsync
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = –daemon
log_on_failure += USERID
}

xinetd 를 재시작 합니다.

root@ruo91:~# /etc/init.d/xinetd restart
* Stopping internet superserver xinetd [ OK ]
* Starting internet superserver xinetd [ OK ]

/etc/rsyncd.conf 설정 파일을 아래 처럼 작성 합니다.

root@ruo91:~# vi /etc/rsyncd.conf
[mirror] # 미러링 될 이름 (Destination)
path = /home/ftp # rsync 할 디렉토리 설정
comment = mirror rsync # 설명 부분
uid = root # rsync 접근 가능 사용자
gid = root # rsync 접근 가능 그룹
use chroot = yes # chroot 사용 여부
read -nly = yes # 읽기 전용으로 설정
host allow = 192.168.0.3 # 해당 호스트만 접근 가능
max connection = 100 # 최대 연결 개수
timeout 300 # 시간 초과 설정

클라이언트 쪽에서 받을 경우 아래 처럼 받아 오면 됩니다.

root@ruo91:~# rsync -avz 192.168.0.1::mirror /home/ftp

rsync 옵션

-v verbose (자세하게 보여줌)
-a archive mode
-u update only(새로운 파일을 덮어쓰지 않음)
–delete 서버쪽에 없고 클라이언트쪽에만 있는 파일을 지움
-z compress (전송시 압축을 함)
–daemon 데몬 모드로 운영함 (이건 inetd.conf에 지정할 때 필요함)
-r recursive (하위 디렉토리까지 포함)
-l 심볼릭 링크 재생성
-p 퍼미션 업데이트
-t 변경시간 전송 (이것이 없으면 전송한 시간으로 바뀜)
-g 그룹이름 변경