程序员人生 网站导航

mongodb常用命令脚本化-自动化运维

栏目:服务器时间:2015-04-09 08:32:19

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



------分隔线----------------------------
------分隔线----------------------------

最新技术推荐