rsync 서버-클라이언트 폴더동기화
-a : 아카이브 모드. rlptgoD를 자동 지정
-v : 진행 상황을 상세하게 보여줌
-r : 지정한 디렉토리의 하위 디렉토리까지 재귀적으로 실행
-l : 심볼릭 링크 보존
-H : 하드 링크 보존
-p : 퍼미션 보존
-o : 소유 속성 보존(루트)
-g : 그룹 속성 보존
-t : 시간 보존(미 사용시 전송한 시간으로 적용)
-D : 디바이스 파일 보존(루트)
-z : 데이터 압축 전송
-b : 낡은 파일은 ~가 붙음
-u : 추가된 파일만 전송 새 파일은 갱신하지 않음
-c : 서버와 클라이언트의 파일 크기를 세밀히 체크
-e ssh(rsh) : 전송 암호화
--delete : 원본서버에 없는 파일은 클라이언트에서도 삭제
--existing : 추가된 파일은 제외하고 갱신된 파일만 전송
--exclude 'PATTERN' : 패턴과 맞는 파일만 전송
--stats : 결과보고
--stats : 결과를 보고
서버에 있는 특정폴더를 클라이언트와 동기화시켜주는 프로그램이 rsync 입니다.
rsync 프로그램은, 폴더동기화, 미러링사이트구축, 원격백업등 다양한 용도로 활용할 수 있습니다.
[서버설정]
~# vi /etc/rsyncd.conf
//아래내용을 기본틀로, 추가입력
[data] //서비스명
comment=webserver //rsync 서비스에 대한 주석
path=/rsync_test //사용할디렉토리 경로
uid=nobody //파일을 전송하는 사용자의 ID를 지정
gid=nobody //파일을 전송하는 사용자의 그룹을 지정
usechroot=yes //해당경로를 Root로 지정 (즉 상위폴더로 접근차단)
readonly=yes //읽기전용 (클라이언트에서 파일을 올리는 경우는, no로 설정)
hostsallow=192.168.0.1 //접근을허용할IP주소 (누구나 접근허용시 * 입력, 보안주의)
max connections = 10 //동시접속자수 ( 0 은 무제한)
timeout600 //클라이언트에서 접근시 Timeout시간, 해당시간동안 반응이 없으면 접속해제
[클라이언트 - 동기화 명령어사용방법]
클라이언트 : rsync가 설치되어있는 유닉스, 리눅스,e-TRAYz등 (윈도우는 별도의 프로그램사용 -링크-)
~# rsync -옵션 서버주소::서비스명 다운로드경로
옵션
a : archive mode (아래 rlptg 옵션적용효과)
r : 하위디렉토리 포함
l : 심볼릭링크 보존
p : 퍼미션 보존
t : 시간 보존 (미사용시 전송한 시간으로 적용됩니다.)
g : 그룹속성 보존
b : 낡은 파일일 경우 ~를 붙임
u : update only 추가된 파일만 전송 (신규파일은 전송하지 않음)
v : verbose mode - 자세한 정보 출력
z : compress (전송시 압축, 압축파일/동영상파일등은 효과가 없습니다.)
e ssh : ssh를 이용하여 rsync 동기화
--delete : 원본서버에 없는 파일은 클라이언트에서도 삭제
--existing : 추가된 파일은 제외하고 갱신된 파일만 전송
--exclude 'PATTERN' : 패턴과 맞는 파일만 전송
--stats : 결과보고
서버주소
서버의 IP주소 또는 도메인을 입력합니다.
서비스명
서비스명은, rsync환경설정파일(서버-rsyncd.conf) 참고
다운로드경로
저장할 폴더경로를 입력합니다. (절대경로 또는 상대경로)
[사용예제]
~# rsync -av --delete 아이디.myetrayz.net::www /home/www
위와 같은 명령을 사용하면 서버의 /rsync_test 폴더와, 클라이언트의 /home/www 폴더와 동기화됩니다.