MongoDB增量備份


MongoDB的增量備份是通過Oplog來實現的。

在MongoDB復制集中,在主節點上的所有的對數據庫的操作,都會在System -> local->Collections->oplog.rs 中記錄下來。

增量備份可以通過對表中的相應時間中的操作記錄進行備份,然后對備份的BSON文件進行恢復。

備份腳本

rem ******MongoDB backup start********
@echo off

echo wscript.echo DateDiff("s", "01/01/1970 00:00:00", Date())>sjc.vbs
for /f %%i in ('cscript sjc.vbs /nologo') do set startDate=%%i
set /a "startDate=%startDate%-28800"
echo %startDate%
set /a "endDate=%startDate%+86400"
echo %endDate%
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%"

md E:\mongodbBackup\backup_%Ymd%\

"C:\Program Files\MongoDB\Server\4.0\bin\mongodump.exe" --host=localhost --port=27017 --authenticationDatabase=admin -d local -c oplog.rs --query "{"ts":{$gte:Timestamp(%startDate%, 1),$lt:Timestamp(%endDate%, 1)},ns:/^spark-demo/}" -o E:\mongodbBackup\backup_%Ymd%\

@echo on
rem ******MongoDB backup end********

恢復腳本

"C:\Program Files\MongoDB\Server\4.0\bin\mongorestore.exe" --host=127.0.0.1 --port=27017 --oplogReplay --authenticationDatabase=admin E:\mongodbBackup\backup_20190917072132

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM