rsync를 백업 서버는 연구 노트를 설정

rsync와 데이터 동기화, 백업
타이머 : rsync를 + 크론 예약 작업
실시간 : rsync에 + sersync (inotify를)

https://www.samba.org/ftp/rsync/rsync.html 공식 문서

  • 리모트 카피의 SSH와 SCP 명령 (암호화 부)
  • 로컬 복사본은 cp
  • 기능 RM 삭제

rsync와의 추가 기능 중 일부는 다음과 같습니다 rsync를 추가 기능

  • 등 링크, 장비 등의 특수 복사 문서를 지원하기 위해 링크, 장치, 소유자, 그룹 및 권한을 복사 지원
  • 제외 및 제외-에서 배제 패키지 tar 명령에 해당 지정된 파일이나 디렉토리 동기화 기능을 제외 할 수 있습니다 GNU 타르와 유사한 옵션,
  • CVS는 CVS 무시 것이라고 동일한 파일을 무시하고 모드를 제외
  • SSH 의해 SSH 또는 RSH 포함한 투명한 원격 쉘을 사용하여 전달 RSH 암호화 (암호화없이 rsync에)
  • 슈퍼 유저 권한이 필요하지 않습니다
  • 파일 전송의 파이프 라인 대기 시간 비용을 최소화하기 위해
  • 익명 또는 인증 모드 송신 처리 익명 또는 인증 된 Rsync 데몬 (미러링 이상) 지원을 위해 지원

rsync를 네트워크 서비스가 될 수 있습니다 (포트, 소켓)
rsync를 명령은 클라이언트에 명령입니다

rsync를 세 가지 작동 모드

  • 동작의 제 1 모드 : 로컬
rsync -avz /root/aaa /tmp/  --->cp
rsync -avz --delete /root/aaa/ /tmp/    --->rm
  • 제 2 동작 모드 : 보통 SSH 원격 쉘, 전송 키 키레스 결합 정규 작업
rsync -avzP -e 'ssh -p 22' /opt/ [email protected]:/tmp/     push
rsync -avzP -e "ssh -p 22" [email protected]:/tmp/ /opt/ 带斜线代表获取的是tmp下的文件    pull
rsync -avzP -e "ssh -p 22" [email protected]:/tmp /opt/  不带斜线代表获取的是tmp这个目录   pull
  • 작업의 세 번째 모드 : 네트워크가 rsync를 데몬, 암호화 성능 손실 VPN을 필요로하지 않는다 (PPTP, OpenVPN을, IPSec을)
  Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
        rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
  Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
        rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

주요 구문 :
1, 동등한 -vzrtopgDl -avz, 동기화 파일에서 밝혔다 및 디렉토리는 변경되지 않은 속성.
2, -P 동기 표시 처리, --progress로 대체 될 수있다
. (3) '22 -e가 SSH -p '이고, SSH 통해 채널 데이터 송신을 나타내고, -p (22)은 생략 될 수있다
(4) 루트 @ 192.168.105.135 / TMP / 원격 호스트 시스템 사용자, 주소, 경로
5 / 옵션 로컬 경로
(6)는, 파일의 내용을 동기화 이러한 일부 변경이 있으며, 제 1 비교 재 동기화

매개 변수 옵션 기술
-v --verbose 정보의 전송 동안 상세 출력 모드와 진행
-z --compress 압축 변속기의 효율을 향상시키기 위해, - 레벨 압축 압축 NUM = 레벨 일 수있다
-a --archive 아카이브 모드, 재귀 적으로 파일을 배포 표현과 -rlptgoD에 해당하는 모든 문서 속성을 유지
-r --recursive 모든 하위 디렉토리는 재귀 적 모드,이 디렉토리는 동일하게 전송하다
-t --times 꾸준한 시간 정보를 유지
-o --owner 파일 소유자 정보를 유지
-p --perms 파일 사용 권한을 유지하려면
-g --group 파일을 보관하는 정보의 집합입니다
-P --progress 프로세스의 동기화와 같은 표시 정보 전송 시간 스케줄 등
-D --devices 장치 파일 정보를 유지
-l --links 예약 소프트 링크
--지우다 차이 동기화 (위험)
--들어오지 못하게 하다 하나의 파일을 제외
여러 파일을 {A, B}, {a..d 제외 }
--exclude-에서 제외 복수의 파일
--partial HTTP 대용량 파일
--bwlimit --bwlimit = 100 속도 제한

엔터프라이즈 응용 프로그램 시나리오 :

  1. 두 서버 간의 데이터 동기화
  2. 백업 서버에 모든 클라이언트 - 서버 데이터 동기화
  3. inotify를 할 실시간 데이터 동기화 rsync를 + inotify를 또는 sersync와 함께 rsync와 기능

생산 시나리오 클러스터 아키텍처 서버 백업 솔루션 :

크론 +는 전체 네트워크 서버 데이터 백업 솔루션 제안 및 구현에 대한 책임 rsync는

  1. 회사와 혼란의 리더십 전체 네트워크 데이터 백업 중요한 데이터를 백업하는 솔루션을 제안
  2. 로컬 백업으로 포장 한 다음 백업 데이터를 통합 고정 스토리지 서버, 스토리지 서버에 다음의 스크립트를 통해 전체 네트워크에 rsync를 inotify를 응용 프로그램과 함께 결합하고 백업 알람 관리자의 결과를 확인
  3. IDC 룸 정기적으로 엔진 룸 화재 및 지진 문제는 데이터가 손실 될 방지하기 위해, 회사 내에서 다른 서버에 데이터를 백업

rsync를 장점 :

1, 증분 백업지지 소켓 (데몬) 중앙 백업 (슬라이딩지지, 클라이언트 기준이다)
원격 쉘 모드 채널 암호화 될 수 있고, (2) (SSH) 전송은 소켓 (데몬) 송신을 암호화 할 필요 IPSec을 VPN 서비스 또는 서비스의 사용

rsync를 단점 :

  1. 때 오랜 시간보다 동기화 된 작은 파일의 큰 숫자, 때때로, rsync를 프로세스를 종료 할 수 있습니다
  2. 완료되지 동기화가 완료 동안, 그것은 숨겨진 파일이 될 것이다, 10G 대형 파일이 때때로 잘못 터미널로 이동, 대용량 파일을 동기화, 전송은 HTTP 및 기타 매개 변수를 통해 달성 될 수있다. 원격 복사 일회용 SCP 수 있습니다

Rsync를 백업 전투

단계 rsync를 서버 구성


1, 서버를 구성, 현재 버전 번호 및 설치 패키지 rsync를 참조

rsync --version     rsync-3.0.6-12.el6.x86_64


2, 정력이 프로필을 추가 ​​/etc/rsyncd.conf

rsync를 구성 파일 공식 웹 사이트 : https://rsync.samba.org/ftp/rsync/rsyncd.conf.html

#配置文件详解,更多参数查看man rsyncd.conf
#Rsync server
#created by hejian 19:50 2019-3-17
##rsyncd.conf start##
uid = rsync     //客户端具备的权限(不存在,需要创建)
gid = rsync
use chroot = no     //安全相关
max connections = 2000   //客户端连接数
timeout = 600       //超时
pid file = /var/run/rsyncd.pid      #进程ID文件
lock file = /var/run/rsync.lock     #锁文件
log file = /var/log/rsyncd.log      #日志文件
ignore errors           #忽略错误
read only = false   #可读写
list = false        #不可以远程列表
hosts allow = 192.168.105.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup   //虚拟用户
secrets file = /etc/rsync.password   //存放用户账号密码的文件
#####################################
[backup]    //模块调用
#comment = backup by hejian 19:50 2019-3-17
path = /backup   //共享目录
[hejian]
path = /hejian


3, rsync를 사용자가 생성하고 디렉토리 / 백업을 공유하고, 디렉토리에 권한을 부여하는

useradd rsync -s /sbin/nologin -M
id rsync
mkdir /backup
chown -R rsync.rsync /backup/


4 암호 파일을 생성

echo "rsync_backup:123" > /etc/rsync.password
chmod 600 /etc/rsync.password


5 rsync를 서비스를 시작하고보기

rsync --daemon

lsof -i :873  
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME  
rsync   1647 root    3u  IPv4  12479      0t0  TCP *:rsync (LISTEN)  
rsync   1647 root    5u  IPv6  12480      0t0  TCP *:rsync (LISTEN)  

netstat -tunlp|grep rsync  
tcp        0      0 0.0.0.0:873                 0.0.0.0:*                     LISTEN      1647/rsync            
tcp        0      0 :::873                      :::*                          LISTEN      1647/rsync    

ss -tunlp|grep rsync    
tcp    LISTEN     0      5                     :::873                  :::*        users:(("rsync",1647,5))  
tcp    LISTEN     0      5                      *:873                   *:*        users:(("rsync",1647,3))   

ps -ef|grep rsync  
root       1647      1  0 20:11 ?        00:00:00 rsync --daemon  
root       1660   1505  0 20:12 pts/0    00:00:00 grep --color=auto rsync    


6, 처음부터 부팅을 추가

echo "rsync --daemon" >>/etc/rc.local  
cat /etc/rc.local

rsync를 클라이언트 구성 단계


1, 암호 파일을 작성하고 사용 권한을 수정

echo "123" > /etc/rsync.password (与服务端密码保持一致,免密登陆)
chmod 600 /etc/rsync.password(与服务端密码权限保持一致)
ll /etc/rsync.password


2 rsync의 파일 전송 (푸시 또는 풀은 클라이언트 동작)

(push)rsync -avz /backup/ [email protected]::backup/ --password-file=/etc/rsync.password
(pull)rsync -avz  rsync://[email protected]:873/backup/ /backup/ --password-file=/etc/rsync.password
echo $? = 0 就代表程序运行是正确的

푸시 제외

rsync -avz --exclude=a /root/test/ [email protected]::backup/ --password-file=/etc/rsync.password

문제 해결

#Rsync server
#created by hejian 19:50 2019-3-17
##rsyncd.conf start##
uid = rsync
gid = rsync
use chroot = no
max connections = 2000
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 192.168.0.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
#####################################
[backup]
comment = backup by hejian 19:50 2019-3-17
path = /backup  

가상 컴퓨터 스냅 샷
, 컬러 테마의 매개 변수를 수정, 주요 백업 구성 파일의 IP를 수정, 실제 시험 준비 환경을 rsync는 호스트 이름을 수정

클라이언트 오류

오류 :

[root@lamp01:/tmp]# rsync -avz /tmp/ [email protected]::backup --password-file=rsync.password
rsync: failed to connect to 192.168.105.136: No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(124) [sender=3.0.6]  

문제 해결 : 서버 방화벽이 켜져

오류 2 :

[root@lamp01:/tmp]# rsync -avz /tmp/ [email protected]::backup --password-file=rsync.password
rsync: could not open password file "rsync.password": No such file or directory (2)  
Password:  
@ERROR: auth failed on module backup
rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]  

첫 번째 오류는 잘못된 경로 --password-파일 =은 / etc / rsync.password
두 번째 오류는 서버 암호 파일 거꾸로 쓰는 클라이언트, 서버 작성 계정과 암호, 클라이언트 쓰기 전용 암호입니다; 문제가 유효성 검사가 실패에 단어가 주도하고있다 철자가, passwod 파일 서버 루트가, 백업은 사용자가 rsync를하다 파일

추천

출처www.cnblogs.com/hejian2836/p/11110469.html