출처:http://blog.naver.com/psy909/140048666997

rsync 서버 설정

아마 이 파일은 없을 것이므로 직접 만들자.

# vi /etc/rsyncd.conf  

 

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 파일을 아래 처럼 만든다. 한줄마다 "아이디:암호" 형식으로 입력

tomcat:(암호)

보안을 위해 퍼미션을 걸어준다.
#chmod 600 /etc/rsyncd.secrets



rsync 서버 시작
# chkconfig rsync on
# 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를 사용

# rsync -vzr --delete /opt/tomcat/webapps/* tomcat@192.168.1.255::tomcat_home/webapps

 


Posted by BAGE