mongodb常用命令腳本化-自動化運維
來源:程序員人生 發布時間:2015-04-09 08:32:19 閱讀次數:3635次
mongodb經常使用命令腳本化-自動化運維
把1些運維中經常使用到的mongodb命令寫成shell腳本,極大的方便了保護
1 設置副本集
#!/bin/bash
#mongodb 進入client 并use admin
cd /usr/mongodb/bin
MongoDB='./mongo 192.168.1.7:37017'
$MongoDB <<EOF
use admin
rsconf={
"_id" : "Job001",
"members" : [
{
"_id" : 0,
"host" : "192.168.1.7:37017"
}
]
}
rs.initiate(rsconf)
rs.add("192.168.1.8:37017")
rs.add("192.168.1.9:37017")
exit;
EOF
注釋:把上面的內容寫入***.sh文件中 chmod 777 ***.sh 賦給權限
在linux > sh ***.sh 便可完成那些命令
下同
2 修改副本集的設置
#!/bin/bash
#mongodb 進入client 并進入primary
cd /usr/mongodb/bin
MongoDB='./mongo 192.168.1.7:37017'
$MongoDB <<EOF
use MongoModelJobResume
#rs.status()
cfg=rs.conf()
cfg.members[0].priority=99
cfg.members[1].priority=50
cfg.members[2].priority=30
rs.reconfig(cfg)
rs.conf()
exit;
EOF
3 把1個表轉到臨時表,再copy回來,這樣oplog中就會重新生成完全的log
(條件oplog 的size要足夠大)
#!/bin/bash
#mongodb 進入client 并進入primary
cd /usr/mongodb/bin
MongoDB='./mongo 192.168.1.7:37017'
$MongoDB <<EOF
use MongoModelJobResume
rs.remove("192.168.1.8:37017")
rs.remove("192.168.1.9:37017")
db.tbJobResume.renameCollection("tbJobResumeOld")
db.tbJobResumeOld.copyTo("tbJobResume")
rs.add("192.168.1.8:37017")
rs.add("192.168.1.9:37017")
#db.tbJobResumeOld.drop()
exit;
EOF
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈