1 設置副本集linux
#!/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;
EOFmongodb
註釋:把上面的內容寫入***.sh文件中 數據庫
chmod 777 ***.sh 賦給權限bash
在linux > sh ***.sh 便可完成那些命令ide
下同spa
#!/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;crontab
EOFrem
3 把一個錶轉到臨時表,再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
mongodb日誌默認寫在一個文件了,時間久了查看等很不方便,用cron計劃任務+腳本 能夠實現按日期存放log
# rotatelog.sh 用下面的內容生成這個文件 chmod 777 rotelog.sh 賦予權限
#!/bin/bash
#mongodb client use admin
cd /usr/mongodb/bin
MongoDB='./mongo 192.168.1.7:37017'
$MongoDB <<EOF
use admin
db.runCommand( { logRotate : 1 } )
exit;
EOF
再用 crontab -e 打開(沒有就新建) 加入以下內容,並保存 (該文件路徑在 /var/spool/cron/root/)
59 23 * * * /bin/sh /usr/mongodb/config/rotatelog.sh
這樣的話天天晚上23點59分的時候就會把當天的日誌以***日期.log的方式另存,原來的log文件會清空
-----自動備份mongodb數據並壓縮--- #!/bin/bash filename=`date +%Y%m%d%H` backmongodbFile=mongodb$filename.tar.gz cd /home/mongo/back/ /usr/mongodb/bin/mongodump -h 192.168.1.7 -port 37017 -d MongoDBAgent -o mongodb_dump/ /usr/mongodb/bin/mongodump -h 192.168.1.7 -port 37017 -d MongoDBBg -o mongodb_dump/ /usr/mongodb/bin/mongodump -h 192.168.1.7 -port 37017 -d MongoModelActor -o mongodb_dump/ tar -czf $backmongodbFile mongodb_dump/ rm -rf mongodb_dump -----自動解壓並還原mongodb數據--- #!/bin/bash filename='20150330013' backmongodbFile=mongodb$filename.tar.gz cd /home/mongo/back/ tar -zxvf $backmongodbFile /usr/mongodb/bin/mongorestore -h 192.168.1.6 -port 37017 --drop -d MongoDBAgent mongodb_dump/MongoDBAgent /usr/mongodb/bin/mongorestore -h 192.168.1.6 -port 37017 --drop -d MongoDBBg mongodb_dump/MongoDBBg /usr/mongodb/bin/mongorestore -h 192.168.1.6 -port 37017 --drop -d MongoModelActor mongodb_dump/MongoModelActor rm -rf mongodb_dump