一 、 建立MongoDB備份目錄
mkdir -p /home/frank/mongodb_bak/mongodb_bak_list
mkdir -p /home/frank/mongodb_bak/mongodb_bak_now
二 、建立MongoDB資料庫備份腳本
(/home/frank/mongodb_bak/MongoDB_bak.sh)
#!/bin/bash
#backup MongoDB
#臨時備份目錄
OUT_DIR=/home/frank/mongodb_bak/mongodb_bak_now
#備份存放目錄
TAR_DIR=/home/frank/mongodb_bak/mongodb_bak_list
#擷取目前系統時間并格式化
DATE=$(date +%Y_%m_%d)
#最終儲存的備份檔案
TAR_BAK="mongodb_bak_$DATE.tar.gz"
cd $OUT_DIR
rm -rf $OUT_DIR/*
mkdir -p $OUT_DIR/$DATE
#備份全部資料庫
mongodump -h dbhost -o $OUT_DIR/$DATE
#壓縮為tar.gz檔案
tar -zcvf $TAR_DIR/$TAR_BAK -C $OUT_DIR/ $DATE
exit
整庫備份:
mongodump -h dbhost -d dbname -o dbdirectory
-h:MongDB所在伺服器位址,例如:127.0.0.1,當然也可以指定端口号:127.0.0.1:27017
-d:需要備份的資料庫執行個體,例如:test
-o:備份的資料存放位置,例如:c:\data\dump,當然該目錄需要提前建立,在備份完成後,系統自動在dump目錄下建立一個test目錄,這個目錄裡面存放該資料庫執行個體的備份資料。
整庫恢複:
mongorestore -h dbhost -d dbname –directoryperdb dbdirectory
-h:MongoDB所在伺服器位址
-d:需要恢複的資料庫執行個體,例如:test,當然這個名稱也可以和備份時候的不一樣,比如test2
–directoryperdb:備份資料所在位置,例如:c:\data\dump\test,這裡為什麼要多加一個test,而不是備份時候的dump,讀者自己檢視提示吧!
–drop:恢複的時候,先删除目前資料,然後恢複備份的資料。就是說,恢複後,備份後添加修改的資料都會被删除,慎用哦!
http://www.jb51.net/article/40285.htm
三、修改檔案屬性, 使其可執行
chmod +x MongoDB_bak.sh
四、修改/etc/crontab, 添加計劃任務
0 0 * * * /home/frank/mongodb_bak/MongoDB_bak.sh
每天零點零分執行計劃
若沒有root 權限不能修改/etc/crontab, 則為目前使用者建立cron服務
鍵入 crontab -e 編輯crontab服務檔案
0 0 * * * /home/frank/mongodb_bak/MongoDB_bak.sh
http://www.blogjava.net/freeman1984/archive/2010/09/23/332715.html
http://blog.chinaunix.net/uid-7552018-id-182133.html
一張網頁,要經曆怎樣的過程,才能抵達使用者面前?
一位新人,要經曆怎樣的曆練,才能站在技術之巅?