測試服務器 |
測試數(shù)據(jù)庫 |
端口 |
文件路徑 |
172.X.X.245 |
實例全備 |
17219 |
/data/mongodb_back |
172.X.X.246 |
QQ_DingDing |
17218 |
/data/mongodb_back/QQ_DingDing |
Step 1 壓縮式備份的命令:
./mongodump --host 172.X.X.245 --port 17219 -u 用戶名 -p "密碼" --gzip --authenticationDatabase "admin" --out /data/mongodb_back
備份后文件的大小,97M
這時候,查看備份文件的格式都變成了.gz的格式
Step 2 將備份文件copy至遠程機器上,進行還原:
以下命令是將在172.X.X.246,要求是將文件從X.245 copy至本地
scp -r root@172.X.X.245:/data/mongodb_back/QQ_DingDing
step 3 執(zhí)行還原的命令
執(zhí)行的命令
./mongorestore --host 172.X.X.246 --port 17218 -d QQ_DingDing -u 用戶名 -p "密碼" --gzip --authenticationDatabase "admin" /data/mongodb_back/QQ_DingDing
還原后登錄MongoDB,執(zhí)行show dbs,查看此時 數(shù)據(jù)大小為500M。
補充說明
(1) 如果不采用壓縮式的備份,備份后的文件會是多大呢?備份命令 :
./mongodump --host 172.X.X.245 --port 17219 -u 用戶名 -p "密碼" --authenticationDatabase "admin" --out /data/mongodb_back2
查看此種方法備份后的文件大小--1.5G。
以此QQ_DingDing數(shù)據(jù)庫為例,其壓縮率為(文件壓縮后的大小與壓縮前的大小之比):97M/1.5G=97/1536=6.3%
(2) 這種壓縮備份的方式的會不會帶來一些弊端:例如備份時間增長?(恢復時間增加?,請自測一下試試,嘻嘻 @@@)
以 某歸檔備份庫所在實例為例(storageSize 150G,dataSize 600G )
采用 先備份后壓縮的方式耗時1小時55分鐘
采用壓縮式備份(指定--gzip參數(shù))的方式耗時 2小時33分鐘
產(chǎn)生的備份文件大小基本相等,壓縮式備份方式產(chǎn)生的備份文件略小
所以 壓縮式備份會導致備份時間增長。
但從空間使用的角度來講,我們?nèi)匀唤ㄗh大家使用壓縮式備份,其壓縮比非常高(測試案例的壓縮比6.3%)。
附:定時清除,保留7天的紀錄
#!/bin/bash targetpath='/backup/mongobak' nowtime=$(date -d '-7 days' "+%Y%m%d") if [ -d "${targetpath}/${nowtime}/" ] then rm -rf "${targetpath}/${nowtime}/" echo "=======${targetpath}/${nowtime}/===刪除完畢==" fi echo "===$nowtime ==="
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。