Linux 서버에서 실시간 데이터 동기화 및 백업을 수행하는 방법
rsync: 전체 디렉토리 트리와 파일 시스템을 미러링하여 저장할 수 있습니다. 원본 파일의 권한, 시간, 하드웨어 및 소프트웨어 링크 등을 쉽게 유지할 수 있습니다. 처음 동기화할 때 rsync 는 전체 내용을 복사하지만 다음 번에는 수정된 파일만 전송합니다.
시나리오: 처음에 rsync 를 사용한 데이터 백업은 예약된 작업을 이용하여 정기적으로 명령을 실행하여 rsync 를 동기화했지만, 최근 개발측에서는 수정이 잦아 백업 메커니즘을 보완하기 위해 실시간 동기화 백업이 필요한 것 같습니다! 따라서 inotify 트리거를 사용하여 개선해야합니다! 일단 지정된 위치에 새로운 변화가 생기면 동기화하세요!
환경:
CentOS 6.4 64 비트
rsync-3..9
inotify-tools-3.14
설명: < -사이트 프로그램 백업 (/data/htdocs/)
목적:
1.1 구현 자동 페일오버 장애 복구, 자세한 구성이 뒤에 보완됨)
1, 웹 서버 1.1.1.6 (rsync+inotify)
1, 패키지 준비
2 Makeinstall
암호 인증 문서 작성
[root@ftp ~]# echo "111111"> /etc/rsyncd/rsyncd.secrets 암호 인증 파일 만들기
* 여기서 1111111 은 직접 암호를 설정할 수 있고 rsyncd.secrets 이름은 직접 설정할 수 있습니다.
사용 권한: /etc/rsyncd/rsyncd.secrets 를 루트 소유로 설정하고 사용 권한을 6 으로 설정하려면.
# chmod6/etc/rsyncd/rsyncd.secrets
3, inotify 설치
1), 1234tar-zxvf inone Makeshell
4, rsync 복제 스크립트 만들기
이 기능은 주로 FTP 측 디렉토리 /data/htdocs/ 의 내용을 inoos 를 통해 수정 (파일 추가, 수정, 삭제) 할 수 있도록 하는 것입니다
[루트 @ 웹 ~] # vim/root/셸/rsync.sh
[루트 @ 웹 ~] # chmod u+x/
# 백그라운드에서 스크립트 실행, 셸 터미널 종료 계속 백그라운드에서 실행
rsync.sh 스크립트 부트 항목 추가
# echo "/root/shell/rsync.sh"> > /etc/rc.local
방화벽 rsync 포트 열기: 873
추가:
iptables-a input-m state-statenew- Iptables restart
2, 백업 서버 1.1.1.9(rsync)
1, 준비 작업
백업 디렉토리 생성:
# mkdir/ 1234tar-zxvf rsync-3..9.tar.gz
2), cdrsync-3..9
3),./cc Makeinstall
3, 사용자 및 비밀번호 인증 파일 작성
[root @ backup ~] # echo "root: 111111" > /etc/rsyncd/rsyncd.secrets
[root @ backup ~] # less/etc/rsyncd/rsyncd.secrets 1.1.1.9 에서 만든 암호 파일에는 사용자 이름과 암호가 모두 있습니다.
사용 권한: /etc/rsyncd/rsyncd.secrets 를 루트 소유로 설정하고 사용 권한을 6 으로 설정하려면.
# chmod6/etc/rsyncd/rsyncd.secrets
4, rsync 구성 파일 생성
[root @ backup ~] # Rsync-daemon-config =/etc/rsyncd.conf
# PS-ef | grep rsync
rsync 서비스 부트 항목 추가 < > /etc/rc.local
방화벽 rsync 포트 열기: 873
추가:
iptables-a input-m state-statenew-
테스트:
/data/htdocs/ 에 회사 정보가 포함되어 있으므로 /data/htdocs/tmp/ 를 예로 들어
호스트 이름은 두 시스템을 구분할 수 있습니다