mongodb 증분 백업 스 크 립 트 의 실현 과 원리 에 대한 상세 한 설명
mongodb 의 던 전 집합 구조,메 인 라 이브 러 리 와 라 이브 러 리 의 데이터 가 일치 합 니 다.메 인 라 이브 러 리 의 기계 가 고장 나 면 괜 찮 습 니 다.라 이브 러 리 에 똑 같은 던 전 데이터 가 있 습 니 다.그러나 누군가가 악의 적 으로 조작 하거나 조작 을 잘못 하면 한꺼번에 라 이브 러 리 전 체 를 대량으로 삭제 하거나 drop 하면 메 인 라 이브 러 리 와 라 이브 러 리 에서 의 데이터 가 없어 큰 손실 을 입 을 수 있다.따라서 몬 godb 데이터 베 이 스 를 정기 적 으로 백업 하 는 것 이 중요 하 다.백업 을 매번 전량 백업 하면 많은 시간 이 소모 되 고 mongodb 성능 에 도 영향 을 미 치 므 로 증분 백업 이 필요 합 니 다.mongodb 의 증분 백업 네트워크 에는 이미 만들어 진 도구 가 없 기 때문에 자세히 연구 하여 스 크 립 트 를 썼 다.
mongodb 클 러 스 터 를 구성 할 때 라 이브 러 리 에서 메 인 라 이브 러 리 의 Oplog 파일 을 비동기 로 복사 하여 메 인 라 이브 러 리 와 동기 화 합 니 다.
Oplog 는 MongoDB 데이터베이스 의 변경 작업 정 보 를 기록 하 였 으 며,local 라 이브 러 리 에 저 장 된 oplog.rs 표 는 클 러 스 터 구조 에 만 존재 하 며,단일 컴퓨터 에 없 기 때문에 증분 백업 은 단일 컴퓨터 에서 사용 할 수 없습니다.oplog 는 크기 제한 이 있 습 니 다.지정 한 크기 를 초과 하면 새로운 기록 은 오래된 작업 기록 을 덮어 씁 니 다.
mongodb 증분 백업 원리
어떻게 하면 한동안 oplog 를 다운로드 할 수 있 습 니까?제 가 맞 춘 예 는:
mongodump -h 127.0.0.1 --port 27117 -d local -c oplog.rs -u admin -p xxx --authenticationDatabase admin -q '{ts:{$gt:{$timestamp:{t:1451355000,i:1}},$lt:{$timestamp:{t:1451357430,i:1}}},ns:/^test_db\\./}' -o oplog_backup
위 는 1451355000-1451357430 시간 사이 의 oplog 를 내 보 냅 니 다.oplog 를 내 보 내 려 면 admin 권한 계 정 으로 전환 해 야 합 니 다.원 리 는 간단 하지만 구체 적 으로 실현 하려 면 많은 고려 가 필요 하 다.코드 를 구체 적 으로 봐 야 한다.스 크 립 트 는 주기 적 으로(예 를 들 어 일주일)전체 데이터 베 이 스 를 백업 하고 그 다음 에 매번 증분 백업 을 합 니 다.스 크 립 트 주소:http://git.oschina.net/passer/mongodb_backup_script
증분 스 크 립 트 실행 시 프로 세 스
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
레코드를 업데이트하고 업데이트 전에 동일한 레코드를 삭제하는 방법(nest js & mongoDB)ID로 레코드를 업데이트하고 싶지만 업데이트 전에 동일한 레코드에 이전에 저장된 데이터를 삭제하고 싶습니다. 프로세스는 무엇입니까? 컨트롤러.ts 서비스.ts 나는 이것을 해결하기 위해 이런 식으로 노력하고 있습니다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.