찾기
내용으로 건너뛰기
추적
•
gallo
문서의 이전 판을 선택했습니다!
저장하면 이 자료로 새 판을 만듭니다.
미디어 파일
{{tag>tech linux ubuntu rsync}} ======rsync====== 호스트간의 데이터 동기화를 위한 rsync 설정 ((레드햇 리눅스 6 서버 - 파워북 출판사, 번역판중 rdist 관련 자료)) man page - rsync(1), rsyncd.conf(5) 서버 클러스터링으로 여러대의 서버를 운영하는 경우 각 호스트간의 자료 를 공유해야함. 공유기법에는 NFS도 있지만 NFS의 경우는 네트웍 트래 픽을 무척이나 높이므로 그 대신 rdist나 rsync를 이용할 수 있다. 이 글에서는 rsync를 이용하여 각 호스트간의 자료를 동기화하는 방법을 설명 함. rsync는 rcp와 비슷한 동작을 하는 프로그램으로 * 링크, device, 소유자, 그릅, 허가권 복사 지원 * GNU tar와 비슷한 exclude, exclude-from 옵션 지원 * rsh 또는 ssh 등 사용가능 * root 권한이 필요없음 * anonymous 또는 인증 rsync 서버 지원(미러링에 유용함) * 일반적인 배포판의 경우 이미 프로그램이 포함되어 있음. ===== 설정파일 ===== /etc/rsyncd.conf 예제를 보겠다. 다음 예제의 호스트를 www1이라고 하겠다. cat /etc/rsyncd.conf <file> [web] path = /home/www/htdocs comment = web uid = nobody gid = nobody use chroot = yes read only = yes hosts allow = www2.taejun.pe.kr max connections = 3 timeout 600 </file> * [web] 서비스명 * path 서비스할 디렉토리 * comment 설명 * uid 파일전송하는 사용자의 id. 기본값은 nobody * gid 파일전송하는 사용자의 그룹 id. 기본값은 nobody * use chroot 위의 path를 root 디렉토리로 사용. 보안상 필요함. * read only 읽기전용 * hosts allow 호스트별 접속허용. 기본값은 all host이므로 보안을 유지하려면 반드시 설정함 * max connections 동시접속자수 * timeout 클라이언트에서 접근시 타임아웃시간. anonymous 로 운영하는 경우 설정을 해야 클라이언트가 죽었을 때 서버에서 접속을 해체할 수 있음. * put(클라이언트에서 서버로 올리는 경우)을 사용하기위해서는 read only = no 로 설정을 해야된다. 이 외에도 여러 가지 옵션이 있지만 실제로은 위의 옵션정도가 자주 사용 된다. 현재 rsync 자체적으로 암호화는 지원하지 않으며 사용자 인증만 지원함. 추후에는 SSL을 지원할 예정이며, 만약 암호화를 사용하려면 ssh를 사용하면 된다. ===== rsync 사용하기===== (접근 클라이언트를 www2.taejun.pe.kr이라고 가정함) rsync -avz --delete www1.taejun.pe.kr::web /home/taejun/~public_html -a는 아카이브 모드. 심볼릭 링크, 속성, 퍼미션, 소유권 등 보존 -v 상세하게 보여움 -z 전송시 압축을 함. --delete www1.taejun.pe.kr에서 web에 해당하는 내용(/home/www/htdocs) 을 ww2.taejun.pe.kr 의 /home/taejun/~public_html 로 가져오면서 www1 (서버)에는 없는 내용은 www2에서 삭제함. 만약 www2 차원에서 생성한 파 일을 보관하려면 옵션 없앰. rsync -avz foo:src/bar /data/tmp 다음 내용은 foo라는 호스트에서 src/bar 안의 내용을 지역호스트의 /data /tmp 디렉토리로 옮기는 것임. 여기서 알아두어야 할 것이 있다. 만약 위에서 src/bar/ 라고 하면 어떻게 달라질까? bar 는 그 디렉토리 자체까지 포함해서 가져온다. 그렇지만 bar/ 라고 뒤에 디렉토리 표시를 하면 그 디렉토리안에 있는 내용만 가지고 온다. 상당히 결과가 달라질 수 있겠지요. 또한 : 과 ::의 차이는 무엇일까? : 은 rsh나 ssh를 사용하는 것이며 :: 은 rsync 자체에서 지원하는 기능을 이용 자료를 가져오는 것으로 873 TCP 포트를 사용함. 상당히 헷갈리지요? : 에서 기본은 rsh를 이용하지만 -e ssh 옵션을 이용하여 ssh를 사용할 수 있다. ssh를 사용하려면 비 밀번호를 입력해야하는데 이것도 파일형태로 만들어서 옵션에서 지정해주 면 된다. 이에 대해서는 따로 설명하지는 않으며 man page를 참고하세 요. -avz 등의 옵션이 있는데 이중 중요한 옵션만 설명을 하겠다. <code> -v verbose (자세하게 보여줌) -a archive mode -u update only(새로운 파일을 덮어쓰지 않음) --delete 서버쪽에 없고 클라이언트쪽에만 있는 파일을 지움 -z compress (전송시 압축을 함) --daemon 대몬 모드로 운영함 (이건 inetd.conf에 지정할 때 필요함) a 는 -rlptg 와 동일함. r recursive (하위 디렉토리까지 포함) l 심볼릭 링크 재생성 p 퍼미션 업데이트 t 변경시간 전송 (이것이 없으면 전송한 시간으로 바뀜) g 그룹이름 변경 </code> 일반적으로 rsync는 파일의 길이와 시간 (time-stamp) 를 이용 파일을 비교함. 이제 쉘 스크립트를 만들고 cron에 등록을 하여 주기적으로 데이터를 동기 화하면 된다. rsync -r -t -v "$VOLATILE" "$PERMANENT" ===== 특정 파일이나 디렉토리를 제외===== http://coffeenix.net/board_view.php?bd_code=88
2+1?
이 필드는 비어 있도록 유지하세요:
저장
미리 보기
취소
편집 요약
참고: 이 문서를 편집하면 내용은 다음 라이선스에 따라 배포하는 데 동의하는 것으로 간주합니다:
CC Attribution-Noncommercial-Share Alike 4.0 International
연결문서
Log2Ram
문서 도구
문서 보기
이전 판
연결문서
맨 위로
다크 모드로 보기
☀️
Toggle Menu
기술
너두 고쳐두 됩니다.
사이트 도구
최근 바뀜
미디어 관리자
사이트맵
사용자 도구
등록
로긴
최근 수정된 문서
the_siren_s_deception
[그웨덴 농장]
wegovy
[운동 루틴 (주 4~5회 권장)]
labioplasty
[실제 사례]
cin
cervical_cancer
semen_analysis
[정자 향상을 위한 방법]
misuse_endixg
misuse_celestoneg2
misuse_celestoneg28
hysterosalpingography
[비정상]
med
[난임]
misuse_topical5
노박
unique_items
dinner_bell
deputy_beagle
ratslayer