国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Simple Automated Backups for MongoDB Replica Sets

iamyoung001 / 2808人閱讀

There are a bunch of different methods you can use to back up your MongoDB data, but if you want to avoid downtime and/or potential performance degradation, the most common advice seems to be that you should simply do all your backups on a slave. This makes sense, since most of your queries will be hitting the primary server anyway. Unfortunately, picking a slave isn’t so simple when dealing with replica sets, because (due to automated failover) you can never really be sure which servers in the set are slaves. My workaround is to simply pick any server and then force it to be a slave before running a backup.
I do this by sticking all my backup commands in a JavaScript file (e.g. /etc/mongodb-backup.js) which starts with something like this:

  

if

  

["myState"]
== 1) {

  

print("Host
is master (stepping down)");

  

rs.stepDown();

  

while

  

["myState"]
!= 2) {

  

sleep(1000);

  

}

  

}

This snippet uses the rs.status() replica set command to check the current state of the local machine. If the myStatefield is “1,” then we know the machine is a primary, so we execute rs.stepDown() and wait until myState is “2” (which means the server has successfully made the transition from primary to secondary).
Next come the actual backup commands. For mongodump, something like this will work:

  

runProgram("mongodump",
">-o",
"/mnt/backups/mongodb/");

Alternatively, it’s possible to take backups of the raw data files. Notice that in this case, we need to sync the files to disk and disable writes first, then re-enable writes once the backup completes:

  

db.runCommand({fsync:1,lock:1});
//
sync and lock

  

runProgram("rsync",
"-avz",
"--delete",
"/var/lib/mongodb/",
"/mnt/backups/mongodb/");

  

db.$cmd.sys.unlock.findOne();
//unlock

And finally, the whole thing can be automated by calling /usr/bin/mongo admin /etc/mongodb-backup.js from a cron job.

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/18703.html

相關文章

  • 使用mongo shell遠程連接數據庫

    摘要:序本文主要介紹一下如何使用連接遠程數據庫這個里頭的就包含了后面不傳參數則會在命令行提示輸入查看空間占用所有數據的總大小所有數據占的磁盤大小以為單位以為單位查看集合查詢 序 本文主要介紹一下如何使用mongo shell連接遠程數據庫 install curl -o mongodb-linux-x86_64-3.2.4.tgz https://fastdl.mongodb.org/lin...

    roundstones 評論0 收藏0
  • MongoDB學習筆記(1)- MongoDB簡介、數據類型及幫助命令

    摘要:數據模型取決于數據庫類型。僅支持位浮點數,所以位整數會被自動轉換為位浮點數。位浮點數中的數字都是這種類型。數字只能表示為雙精度數位浮點數的另外一個問題是,有些位的整數并不能精確地表示為位浮點數。 MongoDB學習筆記(1)- MongoDB簡介及數據類型 本文所使用的MongoDB版本為 4.0.10 > db.version(); 4.0.10 一、MongoDB 介紹 1. Mo...

    nihao 評論0 收藏0
  • MongoDB - write concern concept

    摘要:對于多文檔操作來說,并未提供多文檔事物或隔離。在間隔過期之前,不會回滾或撤消已做出的修改。僅在將數據提交到后才告知客戶端。為了降低操作延遲,也增加了它提交數據至日志的頻率。 本文翻譯自 write concern。 注意,本文內容適用于MongoDB Manual 3.0.2及以上版本。 Whats write concern 所謂的寫關注就是當向客戶端報告寫操作的成功...

    callmewhy 評論0 收藏0
  • mongo EOF(二)

    摘要:容器訪問以為例,在原始的文件中,如下上面的配置,本地主機是無法訪問容器的,我們至少需要暴露出一個端口。查看,的默認端口其實是,而這里寫成也是有原因的。 任何事情的成功都需要掐準時間 上一節mongo EOF中,關于容器的配置,只是粗略的使用了Docker-Compose-MongoDB-Replica-Set項目提供好的docker-compose.yml文件。在使用過程中,我發現這個...

    dreambei 評論0 收藏0
  • MongoDB 2014 大會亮相北京,SegmentFault 給力支持現場吸睛

    摘要:活動之圖文直播現在,在現場為大家發來報道大會在主持人甜美的聲音中開場,來自,作為中文社區的官方合作伙伴,是這次大會的特別支持。 11月22日,MongoDB 2014大會在北京拉開帷幕,這是一場程序員,架構師和運維工程師齊聚的技術盛會,會上,MongoDB頂級專家對MongoDB性能調試與擴展、模式設計藝術、集群管理及遷移以及大規模的使用等方面做了詳細講解,有200多開發者參與了此次盛...

    ThinkSNS 評論0 收藏0

發表評論

0條評論

iamyoung001

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<