一、備份:
mongodump -d mailaccess -c Mail -q ‘{user:”zhaoxy1@szdep.com”}’ -o /data/dump
備份mailaccess database的Mail collection到/data/dump目錄
-d:備份哪個數據庫
-c:備份哪個collection(可選,不傳默認為整個database)
-q:指定備份collection的條件(與-c參數一起使用)
mongodump -d mailaccess -c Mail -q ‘{user:”zhaoxy1@szdep.com”}’ -o /data/dump
備份mailaccess database的Mail collection到/data/dump目錄
-d:備份哪個數據庫
-c:備份哪個collection(可選,不傳默認為整個database)
-q:指定備份collection的條件(與-c參數一起使用)
二、還原:
mongorestore -d MA –drop /data/dump/mailaccess
還原/data/dump目錄下的mailaccess數據庫到MA database中
-d:還原到哪個數據庫
–drop表示在恢復前先刪除原來的集合(如果存在的話)
三、不停機備份:
1.鎖定數據庫:
use admin
db.runCommand({fsync:1,lock:1})
{
“info” : “now locked against writes, use db.fsyncUnlock() to unlock”,
“seeAlso” : “http://www.mongodb.org/display/DOCS/fsync+Command”,
“ok” : 1
}
fsync:強制將所有緩沖寫入磁盤
lock:上鎖,不能寫入(所有寫的操作會阻塞)
2.開始備份……
3.備份完后解鎖:
use admin
db.$cmd.sys.unlock.findOne()
{ “ok” : 1, “info” : “unlock completed” }
四、復制目錄備份:
1.先停掉mongodb;
2.備份整個mongodb目錄。
