rsync 서버 설정
아마 이 파일은 없을 것이므로 직접 만들자.
hosts allow = *
uid = nobody
gid = nobody
use chroot = yes
read only = yes
max connections = 1
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
timeout = 600
[tomcat_home]
path = /opt/tomcat
comment = tomcat home
read only = false
uid = root
gid = root
auth users = tomcat
secrets file = /etc/rsyncd.secrets
[tomcat_home] : rsync의 서비스명, 클라이언트가 접근할 때 사용
path : 서비스할 디렉토리 위치 지정
comment : rsync 서비스에 대한 주석
uid : 파일을 전송하는 사용자의 id, 기본값은 nobody
gid : 파일을 전송하는 그룹 id, 기본값은 nobody
use chroot : chroot 환경 설정. 즉, path로 지정된 경로를 루티(/)로 사용
read only : 읽기 전용. 만일, 클라이언트가 서버로 데이터 전송시는 read only = no 설정
hosts allow : 서비스를 허용할 호스트 설정
max connections : 동시 접속자 수. 0은 무제한
timeout : 클라이언트 접속 후 지정된 시간동안 아무런 작업이 없을 경우 접속을 강제 해제
auth users : 접속시 사용할 계정명 (리눅스 계정과는 전혀 상관 없음)
secrets file : 접속시 사용하는 계정 리스트(리눅스 계정과는 전혀 상관 없음)
/etc/rsyncd.secrets 파일을 아래 처럼 만든다. 한줄마다 "아이디:암호" 형식으로 입력
보안을 위해 퍼미션을 걸어준다.
#chmod 600 /etc/rsyncd.secrets
rsync 서버 시작
# service xinetd restart
# telnet localhost 873 → 동작 확인
rsync 클라이언트 사용
- rsync [option] [rsync 서버]::[서비스명] [다운로드할 위치]
☞ option
-a : archive mode (심볼릭 링크, 속성, 퍼미션, 소유권 등 보존)
-v : verbose mode (자세한 정보 출력)
-z : compress (전송시 압축)
-r : 하위 디렉토리 포함
-e ssh : ssh를 이용한 rsync 동기화
--delete : 서버 동기화 후 rsync 서버에서 파일이 삭제되었으면, 클라이언트도 대상 파일을 삭제하는 옵션
(예제) 로컬의 /opt/tomcat/webapp 아래의 파일들을 웹서버(192.168.1.255)의 서비스명 tomcat_home 하위 webapp에 동기화. 단, 접속시 ssh를 사용