본문 바로가기
IT/System Engineering

리눅스 백업 - rsync (CentOS)

by Jany 2011. 3. 23.
반응형

리눅스 백업 - rsync

rsync

- rsync [option] [service ip] [backup_directory]

option
-a : 심볼릭 링크, 속성, 퍼미션, 소유권등 보존
-v : 진행상황을 상세하게 보여줌
-z : 전송시 압축을 함
-u : 새로운 파일을 덮어쓰지 않음
--delete : 서버쪽에 없고 클라이언트 쪽에만 있는 파일을 백업시 지움
--progress : sync내용을 퍼센트로 보여줌

------------------------------------------------------------------------------------------------------------------------

rsync 사용을 위한 설정

# rpm -qi rsync
Name : rsync Relocations: /usr
Version : 2.6.8 Vendor: CentOS
Release : 3.1 Build Date:
Install Date: Build Host: builder5.centos.org
Group : Applications/Internet Source RPM: rsync-2.6.8-3.1.src.rpm
Size : 401189 License: GPL
Signature : DSA/SHA1, 2007년 04월 04일 (수) 오전 09시 27분 24초, Key ID a8a447dce8562897
Summary : 파일을 네트워크 상에서 동기화하는 프로그램.
Description :
Rsync는 신뢰할 수 있는 알고리즘을 사용하여 매우 빠르게 리모트와
호스트 파일을 가져와서 싱크합니다. Rsync는 네트웍을 통해 파일을
모두 전송하지 않고 단지 파일의 차이점만 전송하기 때문에 빠릅니다.
Rsync는 종종 매우 강력한 밀러링 처리나 더욱 유능한 rcp 명령의
대체로서 사용됩니다. rsync 알고리즘에 대해 설명한 기술 문서는
이 패키지에 포함되어 있습니다.
- 우선 시스템에 rsync가 있는지 확인한다.


서버쪽 설정

# vi /etc/xinetd.d/rsync
------------------ /etc/xinetd.d/rsync 파일 설정 -----------------------
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = no - rsync 데몬 사용을 위해 yes -> no 로 바꿔준다
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
----------------------------------------------------------------------

# vi /etc/rsyncd.conf
--------------------- /etc/rsyncd.conf 파일 설정-----------------------
[server3] - 서버이름
path=/ - 클라이언트에게 허용할 경로를 지정
hosts allow=10.10.33.1/10.10.33.2/10.10.33.100 - 허용할 ip입력
hosts deny=10.10.33.0/255.255.0.0 - 10.10.33 번대 ip 모두 차단
uid=0 - 루트 권한을 줌
gid=0 - 루트 권한을 줌
----------------------------------------------------------------------
- /etc.rsyncd.conf 파일이 없으면 생성한다.

# service xinetd restart
xinetd 를 정지 중: [ OK ]
xinetd (을)를 시작 중: [ OK ]

클라이언트쪽 설정

# rsync -avz --progress 10.10.33.2::server2/boot /root/backup
- 10.10.33.2 (=server2)의 /boot 디렉토리를 내 컴퓨터의 /root/backup 폴더에 sync 시킨다.

여기서

# rsync -avz --progress --delete 10.10.33.2::server2/boot /root/backup
- --delete 를 써주고 10.10.33.3 서버에 파일이 없는 것이 있다면 차후 sync 시 내 컴퓨터에 있는것도 삭제된다.

------------------------------------------------------------------------------------------------------------------------
반응형

댓글