亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > mongodb增量/全量備份腳本的實現詳解

mongodb增量/全量備份腳本的實現詳解

熱門標簽:云南外呼系統 杭州人工電銷機器人價格 電銷機器人是什么軟件 怎么投訴地圖標注 濟南電銷機器人加盟公司 廣州長安公司怎樣申請400電話 蘋果汽車租賃店地圖標注 老虎洗衣店地圖標注 呼和浩特電銷外呼系統加盟

前言

mongodb備份腳本,可以全量或增量進行備份,兩年前所寫,目前網上mongodb備份相關的腳本也還是很少。下面話不多說了,來一起看看詳細的介紹吧

功能

定期對mongodb數據庫數據進行全量備份或增量備份(副本集架構),并可以壓縮上傳到阿里云oss(本地會先生成壓縮包,可以設置不上傳oss)。

腳本運行環境

使用python語言編寫,需安裝python,pymongo和mongodb shell客戶端(測試時使用python 2.7.6,pymongo 3.0.3和mongodb shell 2.0.4)。

腳本部署步驟

1. 將腳本放到一臺linux主機

2. 如果是增量備份,創建mongodb 備份角色用戶或更高權限的admin庫用戶。(導出時會先切換到admin庫來驗證權限,需有查詢local庫,mongodump local庫和mongodump目標庫的權限)

use admin
 db.addUser( { user: "xxxxx",
  pwd: "xxxxx",
  roles: [ "backup" ]
 } )

3. 編輯config.properties,修改oss、mongodb連接等配置信息

## 阿里云oss 連接配置
 endpoint= oss.aliyuncs.com
 accessKeyId = xxxxxxx
 accessKeySecret = xxxxxxx
 bucket = db-backup
 ## mongodb 連接配置
 # 建議用從庫的地址,減少對主庫壓力
 db_host= localhost
 db_port= 27017
 # 如果是增量備份方案,為步驟2中的創建的用戶,或更高權限的admin用戶;如果是全量備份方案,則只需有目標庫的操作權限
 db_user= testb
 db_passwd= testb
 # 目標庫
 db_name= che
 # 備份到本地的臨時目錄 
 db_backup_root_path= /temp/backup/
 # 如果使用mongo客戶端綠色版的,寫上mongo客戶端的絕對路徑
 mongo_shell_path= /dev/hanxuetong/mongodb/mongodb-linux-x86_64-3.0.6/bin/
 # 增量備份還是全量備份 1: 增量備份 0:全量備份
 is_inc_backup=1
 # 每多少天進行一次全量備份
 full_backup_period=7
 # 是否上傳到oss,如果 1 ,上傳成功后會刪除本地備份文件;0:不上傳到oss
 is_upload_to_oss= 0

4. 將start.py加入linux定時任務。crontab任務配置如 0 4 * * * python /xxx/start.py >> /xxx/xxx.log 2>1

增量時恢復步驟:

1. 創建mongodb 具有applyOps權限的角色 以及用此角色的用戶。(需有執行 mongorestore --oplogReplay的用戶權限)

use admin
 db.createRole(
 {
 role: "applyOpsRole",
 privileges: [
 { resource: { anyResource: true }, actions: [ "anyAction"] }
 ],
 roles: []
 }
 )
 db.addUser( { user: "xxxx",
 pwd: "xxxx",
 roles: [ "applyOpsRole" ]
 } )

2. 修改 restore_inc.py里的配置

## 阿里云oss 配置
 endpoint="oss.aliyuncs.com"
 accessKeyId="xxxxxxx"
 accessKeySecret="xxxxxxx"
 bucket="db-backup"

 ## mongodb導入的配置
 db_host="localhost"
 db_port=27017
 # 步驟1創建的用戶
 db_user="testr"
 db_passwd="testr" 
 db_name="che"

 # recent circle backup direactory on oss 最新備份文件的周期名,即備份臨時目錄中mongodb_inc_backup_info.json的last_circle_backup_dir_name 或 oss中文件夾名
 last_circle_backup_dir_name="mongodb_cycle_backup_20151124141133"
 # 從oss上下載到本地的臨時目錄
 restore_local_temp_path="H:\\pythoncode\\temp\\restore\\"
 # 如果使用mongo客戶端綠色版的,寫上mongo客戶端的絕對路徑
 mongo_shell_path= "/alidata1/dev/hanxuetong/mongodb/mongodb-linux-x86_64-3.0.6/bin/"
 # backup file has download to local ? if True,will not download backup files from oss
 # 是否備份文件已經下載到本地,如果true,則不會從oss下載和解壓,本地已有
 has_download_to_local=False
 # 恢復時是否先刪除舊的數據庫
 is_drop_old_restore=True

3. 導入期間停止mongodb寫入

4. 執行 restore_inc.py

全量時恢復步驟:

1. 修改 restore_full.py里的配置

## 阿里云oss 配置
 endpoint="oss.aliyuncs.com"
 accessKeyId="xxxxxxx"
 accessKeySecret="xxxxxxx"
 bucket="db-backup"

 ## mongodb導入的配置
 db_host="localhost"
 db_port=27017
 # 數據庫對應的用戶
 db_user="test"
 db_passwd="test" 
 db_name="che"

 # recent circle backup direactory on oss 最新備份文件的周期名, oss 上存儲的文件名稱是 last_circle_backup_dir_name+last_full_backup_file_suffix
 last_circle_backup_dir_name="mongodb_cycle_backup_20151124141133"

 last_full_backup_file_suffix=".tar.gz"
 # 備份的目錄,實際全量備份的路徑為 restore_local_temp_path+last_circle_backup_dir_name+db_name
 restore_local_temp_path="H:\\pythoncode\\temp\\restore\\"
 # 如果使用mongo客戶端綠色版的,寫上mongo客戶端的絕對路徑
 mongo_shell_path="/alidata1/dev/hanxuetong/mongodb/mongodb-linux-x86_64-3.0.6/bin/"
 # backup file has download to local ? if True,will not download backup files from oss
 # 是否備份文件已經下載到本地,如果true,則不會從oss下載和解壓,本地已有
 has_download_to_local=False
 # 恢復時是否先刪除舊的數據庫
 is_drop_old_restore=True

2. 執行 restore_full.py

相關:

增量備份實現原理

一個周期內(如一星期)先備份一次全量數據庫,然后后面每次備份 上次記錄點到最新時間內的oplog文件。 Oplog 記錄了MongoDB數據庫的更改操作信息,其保存在local庫的oplog.rs表,在集群架構才存在,單機不會有,故增量備份不能在單機下使用。從庫是通過異步復制主庫的Oplog文件,從而達到與主庫的同步。 oplog有大小限制,超過指定大小,新的記錄會覆蓋舊的操作記錄。

全量腳本執行時的流程

備份mongodb數據庫到本地

進行壓縮

上傳到oss

檢驗oss與本地文件的大小是否相同

刪除本地備份文件

增量腳本執行時的流程

  1. 讀取上一個周期執行信息判斷是否需要創建新的周期
  2. 獲得mongodb上oplog最近記錄的時間點current timestamp position
  3. 從本地讀取上一次執行時mongodb的oplog時間點
  4. dump導出全量數據或增量oplog文件到本地,增量oplog文件的導出范圍是 上次oplog記錄點到最新時間內的oplog文件
  5. 保存步驟2獲取的current timestamp position到本地,作為下一次執行步驟3中的時間點
  6. 進行壓縮
  7. 上傳到oss
  8. 刪除本地備份文件

恢復時腳本執行的流程

  1. 從oss上下載指定周期的備份文件到本地
  2. 對全量文件和增量oplog的zip文件進行解壓
  3. 用 mongorestore對全量文件進行導入
  4. 用 mongorestore --oplogReplay 分別對各時間段的oplog文件進行導入

mongodb增量備份 腳本源碼地址:

https://gitee.com/passer/mongodb_backup_script

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • mongodb 數據庫操作--備份 還原 導出 導入
  • MongoDB整庫備份與還原以及單個collection備份、恢復方法
  • MongoDB備份、還原、導出、導入、克隆操作示例
  • Windows下自動備份MongoDB的批處理腳本
  • Mongodb實現定時備份與恢復的方法教程
  • Windows或Linux系統中備份和恢復MongoDB數據的教程
  • Linux下MongoDB數據庫實現自動備份詳解
  • 淺談MongoDB的備份方式
  • MongoDB使用自帶的命令行工具進行備份和恢復的教程
  • mongodb增量備份腳本的實現和原理詳解

標簽:遼陽 自貢 興安盟 玉林 雞西 無錫 廈門 泰安

巨人網絡通訊聲明:本文標題《mongodb增量/全量備份腳本的實現詳解》,本文關鍵詞  mongodb,增量,全量,備份,腳本,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mongodb增量/全量備份腳本的實現詳解》相關的同類信息!
  • 本頁收集關于mongodb增量/全量備份腳本的實現詳解的相關信息資訊供網民參考!
  • 推薦文章
    国产一区二区精品久久| 91麻豆tv| 午夜在线影院| 国产不卡高清| 精品视频在线看| 可以免费看毛片的网站| 99久久精品国产麻豆| 美女被草网站| 精品国产一区二区三区久| 免费毛片基地| 成人免费高清视频| 999久久狠狠免费精品| 久草免费资源| 91麻豆爱豆果冻天美星空| 久草免费资源| 色综合久久天天综合绕观看| 九九九网站| 日本免费区| 青青青草影院| 一 级 黄 中国色 片| 美女免费精品视频在线观看| 国产成人精品综合| 青青久热| 精品视频在线观看一区二区| 成人在免费观看视频国产| 欧美激情一区二区三区在线| 国产伦精品一区二区三区在线观看 | 国产网站免费观看| 国产成+人+综合+亚洲不卡 | 成人在激情在线视频| 国产视频一区二区在线播放| 精品视频免费在线| 国产不卡高清| 欧美激情伊人| 国产美女在线一区二区三区| 国产成人精品一区二区视频| 一级片免费在线观看视频| 美女免费精品视频在线观看| 国产a视频精品免费观看| 免费国产在线观看不卡| 九九免费精品视频| 亚欧乱色一区二区三区| 四虎影视久久久免费| 国产不卡精品一区二区三区| 黄色免费三级| 青青久久精品| 精品视频免费观看| 日韩在线观看免费| 日韩专区亚洲综合久久| 人人干人人插| 国产网站免费| 国产成人精品一区二区视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 一 级 黄 中国色 片| 国产伦精品一区二区三区无广告| 亚洲 激情| 久久国产精品永久免费网站| 欧美电影免费看大全| 四虎影视久久久| 国产91精品系列在线观看| 日本伦理片网站| 精品视频在线看| 一级毛片视频播放| 日本在线不卡视频| 国产91丝袜在线播放0| 可以在线看黄的网站| 国产极品白嫩美女在线观看看| 国产网站免费视频| 国产福利免费观看| 日韩综合| 免费一级片网站| 国产成人精品影视| 国产原创中文字幕| 日本免费区| 精品视频在线观看免费| 国产高清视频免费观看| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美激情一区二区三区在线播放 | 韩国三级视频网站| 欧美大片a一级毛片视频| 欧美电影免费看大全| 精品视频在线观看一区二区三区| 91麻豆国产福利精品| 日韩男人天堂| 四虎影视久久久| 国产一区免费观看| 亚欧视频在线| 人人干人人插| 国产精品自拍一区| 国产91精品系列在线观看| 欧美爱色| 成人在激情在线视频| 韩国三级香港三级日本三级la | 日本在线www| 午夜在线影院| 精品久久久久久影院免费| 国产不卡在线看| 毛片高清| 高清一级毛片一本到免费观看| 国产精品自拍亚洲| 91麻豆精品国产综合久久久| 黄色福利片| 亚洲第一色在线| 黄色短视屏| 成人a级高清视频在线观看| 高清一级淫片a级中文字幕| 国产激情一区二区三区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产国语对白一级毛片| 精品毛片视频| 四虎影视久久久| 精品视频免费看| 夜夜操网| 99色视频在线观看| 超级乱淫伦动漫| 免费国产在线视频| 99久久精品国产免费| 欧美一区二区三区性| 国产视频久久久| 国产网站免费观看| 精品在线观看国产| 久久久久久久久综合影视网| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产一区二区精品尤物| 国产原创视频在线| a级毛片免费全部播放| 国产伦精品一区二区三区无广告 | 四虎影视精品永久免费网站| 久久成人综合网| 国产亚洲免费观看| 韩国毛片免费| 国产视频一区二区三区四区| 国产视频一区二区在线播放| 可以在线看黄的网站| 日本伦理黄色大片在线观看网站| 久久福利影视| 精品国产一区二区三区免费 | 你懂的日韩| 亚欧乱色一区二区三区| 999久久66久6只有精品| 精品久久久久久中文字幕一区| 亚欧视频在线| 午夜激情视频在线观看| 日韩免费片| 尤物视频网站在线观看| 毛片的网站| 天天做人人爱夜夜爽2020毛片| 欧美a免费| 免费一级片在线| 美女免费精品高清毛片在线视| 深夜做爰性大片中文| 午夜欧美成人久久久久久| 久久精品免视看国产明星| 亚飞与亚基在线观看| 欧美激情一区二区三区视频| 99热视热频这里只有精品| 麻豆午夜视频| 黄视频网站免费观看| 国产网站免费| 97视频免费在线观看| 欧美日本二区| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日韩在线观看免费| 日韩一级黄色大片| 色综合久久天天综合观看| 亚欧成人乱码一区二区 | 国产成人精品影视| 国产一区二区精品尤物| 精品视频一区二区| 日韩中文字幕一区二区不卡| 九九精品在线| 亚洲 欧美 成人日韩| 亚洲 国产精品 日韩| 日日爽天天| 免费毛片播放| 国产视频网站在线观看| 一本高清在线| 欧美另类videosbestsex久久 | 精品国产香蕉伊思人在线又爽又黄| 欧美国产日韩在线| 久久精品成人一区二区三区| 黄视频网站免费看| 久久精品大片| 麻豆网站在线看| 可以免费看污视频的网站| 999久久久免费精品国产牛牛| 精品国产亚洲一区二区三区| 99色视频在线观看| 天天色色网| 日韩av成人| 国产高清在线精品一区a| 欧美国产日韩精品| 日韩在线观看免费| 韩国毛片| 香蕉视频久久| 国产福利免费观看| 一本伊大人香蕉高清在线观看| 99久久精品国产高清一区二区| 欧美激情影院| 国产a一级|