Linux 시스템 Rsync 데이터 동기 화 도구

7751 단어 rsync
1.1 무슨 Rsync?
       Rsync 는 오픈 소스, 빠 르 고 다기 능, 전량 및 증 량 을 실현 할 수 있 는 로 컬 또는 원 격 데이터 동기 화 백업 을 위 한 우수한 도구 입 니 다.        Rsync 소프트웨어 는 / unix / linux / windows 등 다양한 운영 체제 플랫폼 에 사용 된다.다음은 공식 영어 간단 한 설명 입 니 다: rsync - a fast, versatile, remote (and local) file - copying tool:http://www.samba.org/ftp/rsync.html
1.2 Rsync 프로필 Rsync 영문 을 모두 Remote synchronization 이 라 고 부 릅 니 다. 소프트웨어 의 이름 에서 알 수 있 듯 이 Rsync 는 로 컬 과 원 격 두 호스트 의 직접 데 이 터 를 사용 하여 동기 화 미 러, 원 격 백업 을 신속하게 복사 할 수 있 는 기능 을 가지 고 있 습 니 다. 이 기능 은 ssh 테이프 의 scp 명령 과 유사 하지만 scp 명령 보다 좋 은 기능 을 가지 고 있 습 니 다. scp 는 매번 전량 과 증 량 의 복사 데이터 입 니 다.이것 은 cp 명령 과 유사 하지만 cp 명령 보다 도 우수 합 니 다. cp 는 매번 전량 복사 되 고 Rsync 는 증분 복사 할 수 있 습 니 다.알림: Rsync 를 이용 하여 파일 과 디 렉 터 리 를 삭제 하 는 기능 도 할 수 있 습 니 다. 이것 은 rm 명령 에 해당 합 니 다!하나의 rsync 는 scp, cp, rm 에 해당 하지만 모든 명령 보다 우수 합 니 다.
1.2.1 Rsync 기능 의 주요 역할: 두 컴퓨터 간 에 데 이 터 를 동기 화 하 는 중요 한 기능: 1. 원 격 복사 라면 scp 기능 에 해당 하고 scp 는 암호 화 된 복사 이다.2. 로 컬 복사 라면 cp 명령 3 에 해당 합 니 다. 파일 을 삭제 하 는 경우 rm 명령 rsync 는 네트워크 서비스 port, socket (서비스) 이 데 이 터 를 동기 화 할 때 기본 적 인 상황 에서 rsync 는 독특한 'quick check' 알고리즘 을 통 해 크기 만 동기 화하 거나 마지막 으로 시간 이 변 하 는 파일 이나 디 렉 터 리 만 수정 할 수 있 습 니 다.물론 권한, 주 등 속성의 변화 에 따라 동기 화 할 수도 있 지만 해당 하 는 파 라 메 터 를 지정 해 야 하고 한 파일 에 변 화 된 내용 부분 만 동기 화 할 수 있 기 때문에 빠 른 동기 화 백업 데 이 터 를 실현 할 수 있 습 니 다.알림: 전통 적 인 cp, scp 도구 의 복사 가 매번 완전 복사 이 고 rsync 는 완전 복사 가 가능 할 뿐만 아니 라 증분 복사 기능 도 갖 추고 있 기 때문에 동기 데이터 의 성능 과 효율 에 있어 rsync 도구 가 한 수 위 입 니 다.
1.2.2 Rsync 의 특성 1. 링크 파일, 장치 등 특수 파일 복사 지원.2. 지정 한 파일 이나 디 렉 터 리 동기 화 를 제거 하 는 기능 이 있 으 며, 패키지 명령 tar 의 제거 기능 에 해당 합 니 다.3. 원본 파일 이나 디 렉 터 리 의 권한, 시간, 소프트 하 드 링크, 주, 그룹 등 모든 속성 을 변경 하지 않 고 유지 할 수 있 습 니 다 (- p) 4. 증분 동기 화, 즉 변 화 된 데이터 만 동기 화 할 수 있 기 때문에 데이터 전송 효율 이 높 습 니 다. tar - N.5. rcp, rsh, ssh 등 방식 으로 전송 파일 (Rsync 자체 가 데이터 암호 화 되 지 않 음) 에 맞 출 수 있 습 니 다. 6. socket (프로 세 스 방식) 을 통 해 파일 과 데이터 (서버 와 클 라 이언 트) 를 전송 할 수 있 습 니 다. 익명 또는 인증 (시스템 사용자 필요 없 음) 을 지원 하 는 프로 세 스 모드 전송 을 통 해 데이터 백업 및 미 러 를 편리 하고 안전하게 진행 할 수 있 습 니 다.
1.3 rsync 명령 설명 알림: rsync 명령 은 클 라 이언 트 명령 Rsync 매개 변수 입 니 다. 매개 변수 설명 - a 는 속성 이 변 하지 않 습 니 다. - a - 압축 파일 모드 는 재 귀적 으로 파일 을 전송 하고 모든 파일 속성 을 유지 하 는 것 을 의미 합 니 다. - rtogDl - v 상세 모드 출력, 전송 시의 진도 등 메시지 와 같 습 니 다. -z 전송 시 압축 하여 전송 효율 향상 - e - rsh = COMMAND 에서 사용 하 는 채널 프로 토 콜, rsh 를 대체 하 는 sheel 프로그램 을 지정 하고 전송 터널 을 설정 합 니 다. 예 를 들 어 ssh - p 22 - P - progress 는 동기 화 과정 과 전송 시의 진도 등 정 보 를 표시 합 니 다.r -- recursive 는 하위 디 렉 터 리 를 재 귀 모드 로 합 니 다. 즉, 디 렉 터 리 에 있 는 모든 디 렉 터 리 가 똑 같이 전송 되 는 것 입 니 다.소문 자 r - t -- times 유지 파일 시간 정보 - o -- owner 유지 파일 속 주 정보 - p -- perms 유지 파일 권한 - g -- group 유지 파일 속 그룹 정보 - D -- devices 유지 장치 파일 정보 - l -- links 유지 소프트 하 드 링크 배제 매개 변수: -- exclude = PATTERN 지정 전송 이 필요 없 는 파일 모드 - exclude - from = file (파일 이름 이 있 는 디 렉 터 리 파일)-- exclude = abc 는 하나의 파일 을 제외 합 니 다 -- exclude = {a, c} 은 여러 개의 파일 을 제외 합 니 다 -- copress - level = NUM 은 단계별 로 압축 할 수 있 습 니 다.
1.4 Rsync 서버 설정 (데 몬) 작업 모드 1. 서버 4 대가 rsync -- version 을 실행 하여 버 전 번호 보기 (CRT 대화 창)
[root@Rsync-SERVER-14 /]# rsync --version #  rsync    
rsync version 3.0.6 protocol version 30
Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, iconv, symtimes
rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.

2. Rsync 서비스 파일 설정 (rsyncd. conf)
[root@Rsync-SERVER-14 /]# rpm -qa |grep rsync #       rsync
rsync-3.0.6-12.el6.i686
[root@Rsync-SERVER-14 /]# touch /etc/rsyncd.conf #  rsync              
[root@Rsync-SERVER-14 /]# ls /etc/rsyncd.conf
/etc/rsyncd.conf
[root@Rsync-SERVER-14 /]# vim /etc/rsyncd.conf #  rsyncd.conf       
#Rsync server
#Created by Jonny 21:30 2015-10-28
##rsyncd.conf start ##
uid = rsync #                ,             
gid = rsync #               ,            
use chroot = no #          ,        ,       ,        
 
max connections = 2000 #      ,    2000  
timeout = 600 #    ,       600               
pid file = /var/run/rsyncd.pid #rsync      /var/run/rsyncd.pid,           
  pid      rsync   
lock file = /var/run/rsyncd.lock #lock file     max connections       ,    
/var/run/rsyncd.lock
ignore errors #    
read only = false #     ,    true( )
list = false #    ,         true( )
hosts allow = 192.168.1.0/24 #  IP  
hosts deny = 0.0.0.0/32 #    
auth users = rsync_backup #    (    )
secrets file = /etc/rsync.password #          (     :  )
######################################
[backup] #      
comment = backup server by Jonny 21:35 2015-10-28 #    
path = /backup #      
     man rsyncd.conf

3. rsync 서비스 시작
[root@Rsync-SERVER-14 /]# rsync �Cdaemon #  rsync   
[root@Rsync-SERVER-14 /]# ps -ef |grep rsync|grep -v grep #  rsync       
root 3457 1 0 07:40 ? 00:00:00 rsync --daemon
[root@Rsync-SERVER-14 /]# netstat -lntp |grep rsync #  rsync        
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN
3457/rsync
tcp 0 0 :::873 :::* LISTEN
3457/rsync
[root@Rsync-SERVER-14 /]# lsof -i ":873" #       rsync   
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsync 3457 root 3u IPv4 18925 0t0 TCP *:rsync (LISTEN)
rsync 3457 root 5u IPv6 18926 0t0 TCP *:rsync (LISTEN)
[root@Rsync-SERVER-14 /]# ss -lntup |grep rsync #ss      rsync   
tcp LISTEN 0 5 :::873 :::*
users:(("rsync",3457,5))
tcp LISTEN 0 5 *:873 *:*
users:(("rsync",3457,3))

4. Rsync 사용자 만 들 기
[root@Rsync-SERVER-14 /]# useradd rsync -M -s /sbin/nologin #  rsync     

5. 공유 디 렉 터 리 만 들 기
[root@Rsync-SERVER-14 /]# mkdir /backup #         

6. rsync 사용자 권한 부여
[root@Rsync-SERVER-14 /]# chown -R rsync /backup #  /backup      rsync
[root@Rsync-SERVER-14 /]# ls -ld /backup/ #       
drwxr-xr-x. 2 rsync root 4096 Oct 26 07:48 /backup/

7. 암호 파일 만 들 기
[root@Rsync-SERVER-14 /]# echo "rsync_backup:oldboy" >/etc/rsync.password  #      
[root@Rsync-SERVER-14 /]# cat /etc/rsync.password        #       rsync_backup:oldboy
[root@Rsync-SERVER-14 /]# chmod 600 /etc/rsync.password  #       ,      600
[root@Rsync-SERVER-14 /]# ls -ld /etc/rsync.password     #       
-rw-------. 1 root root 510 Oct 26 07:19 /etc/rsync.password

1.5 Rsync 클 라 이언 트 설정
1. 암호 파일 을 만 들 려 면 서버 와 같은 비밀 번 호 를 입력 해 야 합 니 다. 클 라 이언 트 가 서버 에 연결 할 때 서버 는 클 라 이언 트 와 비밀 번 호 를 원 하기 때문에 서버 와 같은 비밀 번 호 를 원 합 니 다.
[root@NFS-SERVER-11 ~]# echo "oldboy" >/etc/rsync.password
[root@NFS-SERVER-11 ~]# chmod 600 /etc/rsync.password

2. 클 라 이언 트 가 서버 로 파일 전송
알림: 밀 당 은 모두 클 라 이언 트 가 조작 한 것 입 니 다.
[root@NFS-SERVER-11 /]# rsync -avzP /etc/hosts [email protected]::backup
--password-file=/etc/rsync.password
sending incremental file list
hosts
158 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/1)
sent 120 bytes received 27 bytes 294.00 bytes/sec
total size is 158 speedup is 1.07

3. Rsync 서버 에서 푸 시 / 백업 / 여 부 를 확인 합 니 다.
[root@Rsync-SERVER-14 /]# ls /backup/
11 hosts

4. 클 라 이언 트 가 서버 에 데 이 터 를 끌 어 옵 니 다.
[root@NFS-SERVER-11 ~]# rsync -avz [email protected]::backup /tmp/
--password-file=/etc/rsync.password
receiving incremental file list
./
11
hosts
test/
test/hosts
sent 128 bytes received 410 bytes 1076.00 bytes/sec
total size is 316 speedup is 0.59
[root@NFS-SERVER-11 ~]# ls /tmp/
hosts

본 고 는 '미풍 청량' 블 로그 에서 나 온 것 으로 작가 에 게 연락 하 세 요!

좋은 웹페이지 즐겨찾기