欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

mongodb如何實(shí)現(xiàn)增量/全量備份腳本-創(chuàng)新互聯(lián)

這篇文章主要介紹了mongodb如何實(shí)現(xiàn)增量/全量備份腳本,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)鄰水免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

功能

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

腳本運(yùn)行環(huán)境

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

腳本部署步驟

1. 將腳本放到一臺linux主機(jī)

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

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中的創(chuàng)建的用戶,或更高權(quán)限的admin用戶;如果是全量備份方案,則只需有目標(biāo)庫的操作權(quán)限
 db_user= testb
 db_passwd= testb
 # 目標(biāo)庫
 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
 # 每多少天進(jìn)行一次全量備份
 full_backup_period=7
 # 是否上傳到oss,如果 1 ,上傳成功后會刪除本地備份文件;0:不上傳到oss
 is_upload_to_oss= 0

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

增量時恢復(fù)步驟:

1. 創(chuàng)建mongodb 具有applyOps權(quán)限的角色 以及用此角色的用戶。(需有執(zhí)行 mongorestore --oplogReplay的用戶權(quán)限)

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導(dǎo)入的配置
 db_host="localhost"
 db_port=27017
 # 步驟1創(chuàng)建的用戶
 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
 # 是否備份文件已經(jīng)下載到本地,如果true,則不會從oss下載和解壓,本地已有
 has_download_to_local=False
 # 恢復(fù)時是否先刪除舊的數(shù)據(jù)庫
 is_drop_old_restore=True

3. 導(dǎo)入期間停止mongodb寫入

4. 執(zhí)行 restore_inc.py

全量時恢復(fù)步驟:

1. 修改 restore_full.py里的配置

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

 ## mongodb導(dǎo)入的配置
 db_host="localhost"
 db_port=27017
 # 數(shù)據(jù)庫對應(yīng)的用戶
 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"
 # 備份的目錄,實(shí)際全量備份的路徑為 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
 # 是否備份文件已經(jīng)下載到本地,如果true,則不會從oss下載和解壓,本地已有
 has_download_to_local=False
 # 恢復(fù)時是否先刪除舊的數(shù)據(jù)庫
 is_drop_old_restore=True

2. 執(zhí)行 restore_full.py

相關(guān):

增量備份實(shí)現(xiàn)原理

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

全量腳本執(zhí)行時的流程

備份mongodb數(shù)據(jù)庫到本地

進(jìn)行壓縮

上傳到oss

檢驗(yàn)oss與本地文件的大小是否相同

刪除本地備份文件

增量腳本執(zhí)行時的流程

  1. 讀取上一個周期執(zhí)行信息判斷是否需要創(chuàng)建新的周期

  2. 獲得mongodb上oplog最近記錄的時間點(diǎn)current timestamp position

  3. 從本地讀取上一次執(zhí)行時mongodb的oplog時間點(diǎn)

  4. dump導(dǎo)出全量數(shù)據(jù)或增量oplog文件到本地,增量oplog文件的導(dǎo)出范圍是 上次oplog記錄點(diǎn)到最新時間內(nèi)的oplog文件

  5. 保存步驟2獲取的current timestamp position到本地,作為下一次執(zhí)行步驟3中的時間點(diǎn)

  6. 進(jìn)行壓縮

  7. 上傳到oss

  8. 刪除本地備份文件

恢復(fù)時腳本執(zhí)行的流程

  1. 從oss上下載指定周期的備份文件到本地

  2. 對全量文件和增量oplog的zip文件進(jìn)行解壓

  3. 用 mongorestore對全量文件進(jìn)行導(dǎo)入

  4. 用 mongorestore --oplogReplay 分別對各時間段的oplog文件進(jìn)行導(dǎo)入

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

https://gitee.com/passer/mongodb_backup_script

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“mongodb如何實(shí)現(xiàn)增量/全量備份腳本”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司,關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、網(wǎng)站設(shè)計(jì)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享名稱:mongodb如何實(shí)現(xiàn)增量/全量備份腳本-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://aaarwkj.com/article16/dipdgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站導(dǎo)航、做網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、外貿(mào)建站、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
欧美内射专区精品一区| 男女视频午夜刺激一区二区| 国产激情盗摄一区二区三区| 国产视频传媒一区二区| 精品裸足人妻少妇二区三区 | 男男啪啪猛进猛出无遮挡| 欧美色欧美亚洲另类视频| av天天堂网在线播放| 国产成人亚洲精品午夜国产馆| 亚洲综合色视频在线播放| 人妻熟妇av在线一区二区三区| 人人看男人的天堂东京| 亚洲高清成人综合网站| 欧美国产一级二级三级| 久久99精品人妻一区二区三区| 久热在线这里只有精品| 国产亚洲精品视频免费| 国产欧美日韩一级二级三级| 久久久精品免费中文视频| 国产一区二区毛多内射| 性生活真实视频免费看| 日韩国产传媒视频在线观看| 五月婷婷av综合激情| 国产又粗又硬又长又爽在线观看| 日本高清三级精品一区二区| 热热久久这里只有精品| 日本一区二区三区免费精品| 亚洲一区欧美日韩91| 哪里可以看日韩免费毛片| 国产国语网站在线观看| 国产伦国产一区二区三区在线观看| 中文字幕黄色三级视频| 麻豆精品午夜福利在线| 亚洲少妇插进去综合网| 精品国产a级黄毛网站| 色播五月麻豆激情综合网| 人人妻夜夜天天俺去添噜| 午夜神马福利激情视频| 国产精品日韩一区视频| 成人黄网站色大片免费观看| 日本美女午夜福利视频|