rsync 미러링 > 리눅스 스터디

본문 바로가기
사이트 내 전체검색

리눅스 스터디

rsync 미러링

페이지 정보

본문

rsync 를 이용한 HDD 미러링(백업)

rsync 를 이용한 HDD 미러링
======================================

rsync를 사용하는 것의 좋은 점은 변경된 파일들만을 복사한다는
것이다. 만약 주어진 파일시스템이 하루가 지나도록 변경되지
않는다면 보통의 copy나 tar 명령을 사용하는 것보다 수천 배는
빠를 수 있다.

홈페이지 : http://rsync.samba.org/rsync/index.html
다운로드 : ftp://ftp.kreonet.net/pub/Linux/RedHat/redhat/linux/7.3/en/os/i386/RedHat/RPMS/rsync-2.5.4-2.i386.rpm

0) 프로그램 설치 및 서비스 오픈
=======================================
#> rpm -qa | grep rsync
rsync-2.3.1-2

#>vi etc/services 에 다음 내용확인 및 추가
rsync 873/tcp # rsync


1) 서버 설정파일
====================

[root@www /root]# vi /etc/rsyncd.conf

[www]
path=/var/www/html
comment=webserver1
uid=nobody
gid=nobody
use chroot=yes
read only=yes
hosts allow=211.234.xxx.xxx
max connections=3
timeout 100


2) rsync 명령어로 백업
============================

가. 증가백업(incremental backup)
#>rsync -auvrz /home /mnt/
-> 증가백업(incremental backup)을 할경우 수정된 파일이나,
신규 파일등이 보관되어집니다.

나. 미러백업(Mirror Backup)
#> mount /dev/hdc1 /mnt
#> rsync -avrz --delete /home /mnt

다. 옵션 설명
-a는 archive mode (심볼릭 링크, 속성, 퍼미션, 소유권 등 보존).
-v verbose(상세하게 보여움).
-z compress(전송시 압축을 함
-r recursive(디렉토리까지 압축함)


3) cron을 이용한 자동 백업(미러링) 작업
==========================================
#> crontab -e
0 0 * * 0-5 rsync -auvrz /home /mnt > /var/log/home.incre
0 0 * * 6 rsync -avrz --delete /home /mnt > /var/log/home.mirror

설명: 일요일~금요일까지 증가백업(incremental backup)진행.
토요일에는 미러백업(Mirror backup)이 진행.



4) 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 등의 옵션이 있는데 이중 중요한 옵션만 설명을 하겠습니다.

-v verbose (자세하게 보여줌)
-a archive mode

-u update only(새로운 파일을 덮어쓰지 않음)
--delete 서버쪽에 없고 클라이언트쪽에만 있는 파일을 지움
-z compress (전송시 압축을 함)
--daemon 대몬 모드로 운영함 (이건 inetd.conf에 지정할 때 필요함)



-a 는 -rlptg 와 동일합니다.
-r recursive (하위 디렉토리까지 포함)
-l 심볼릭 링크 재생성
-p 퍼미션 업데이트
-t 변경시간 전송 (이것이 없으면 전송한 시간으로 바뀜)
-g 그룹이름 변경

일반적으로 rsync는 길이와 time-stamp를 이용 파일을 비교합니다.

이제 쉘 스크립트를 만들고 cron에 등록을 하여 주기적으로 데이터를 동기화하면
됩니다.


5) 참고- 다음은 보안 설정을 추가하는 방법
#>rsync -av --delete -e ssh ~/public_html/ webserver:/home/rwa2/public_html/

댓글목록

등록된 댓글이 없습니다.

Total 87건 1 페이지
리눅스 스터디 목록
번호 제목 글쓴이 조회 날짜
87 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 3310 11-08
86 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 3587 11-05
85 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 3535 11-05
84 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 4887 11-05
83 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 3351 11-05
82 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 3988 11-05
81 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 4974 11-05
80 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 3210 08-22
79 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 2431 06-16
78 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 2325 06-16
열람중 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 3711 05-31
76 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 1909 03-12
75 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 5478 08-13
74 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 3168 04-09
73 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 2127 04-04
72 no_profile 이즈쪽지보내기 자기소개 아이디로 검색 전체게시물 3597 04-01

검색

회원로그인

회원가입

사이트 정보

컴퓨터 정보,윈도우즈,리눅스,포토샵,3ds
맥스,프로그래밍 강좌팁

접속자집계

오늘
569
어제
724
최대
5,287
전체
637,568
Copyright © www.qdata.co.kr All rights reserved.