[Linux] 리눅스 rsync 설정 방법
리눅스에서 다량의 파일들을 전송/수신하고, 데이터 증분치에 대한 반영을 할 수 있는 가장 좋은 방법은 rsync가 아닐까 생각한다.(혹시 더 좋은 방법이 있으면 추천 부탁드립니다.) rsync 서버 및 클라이언트 설정 방법을 정리해본다. 여기서는 192.168.123.10에 있는 데이터를 192.168.123.11로 가져가는 예시를 들어본다.
<rsync 서버 설정>
rsync 서버 설정 1) rsync 패키지 확인
# rpm -qa | grep rsync
** 설치가 안 되어있을 경우
# yum install rsync
rsync 서버 설정 2) xinetd 패키지 확인
# rpm -qa | grep xinetd
** 설치가 안 되어있을 경우
# yum install xinetd
rsync 서버 설정 3) rsnyc 사용 설정
# vi /etc/xinetd.d/rsync
'disable = yes' 라고 되어있는 부분을 'disable = no' 로 변경한다.
===================================================================
# default: off
# description: The rsync server is a good addition to an 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
}
===================================================================
rsync 서버 설정 4) rsync 설정
# vi /etc/rsyncd.conf
/etc/rsyncd.conf의 경우 처음에는 없는 파일일 가능성이 높다. 편집기를 이용해 새로 작성해준다.
====================================================
[rsync_test] -> 사용할 rsync 서비스 이름
path=/data/rsync_test/ -> 데이터 원본 경로
comment = rsync_test -> 코멘트
uid = root -> 권한 사용자
gid = root -> 권한 그룹
use chroot = yes
read only = yes
hosts allow = 192.168.123.11 -> rsync 클라이언트 IP. localhost일 경우 입력하지 않아도 됨
max connections = 3
timeout=600
====================================================
rsync 서버 설정 5) xinetd 서비스 재시작 및 방화벽 확인
# /etc/init.d/xinetd restart
보통 iptables 에서 포트가 막혀있는 경우가 많다.
rsync는 873 포트를 사용하므로, 873 포트 허용해준다.
<rsync 클라이언트 설정>
rsync 클라이언트 설정 1) rsync 접속 여부 확인
# telnet [rsync 서버 IP] 873
ex) telnet 192.168.123.10 873
telnet을 이용하여 873 포트가 정상적으로 연결되는지 확인한다.
rsync 클라이언트 설정 2) rsync 실행
# rsync -avz [IP]::[서비스명] 저장디렉토리
ex) # rsync -avz 192.168.123.10::rsync_test /data/rsync_test
혹시 내역을 로그로 남기고 싶을 경우 아래와 같이 입력한다.
# rsync -avz 192.168.123.10::rsync_test /data/rsync_test > /data/rsync.log