mongodb副本集Replica Set數據庫備份和還原

副本集全量備份

# mongors是副本集的名字,爲了從主節點進行備份
mongodump -h 'mongors/192.168.100.1:27017,192.168.100.2:27017' -u 'username' -p 'pwd' --oplog --authenticationDatabase admin --gzip -o ${備份目錄絕對路徑}

mongodump 指令說明

-h:指定當前備份主機ip
-u:指定驗證的用戶名
-p:指定用戶名對應的密碼
--oplog:replica set或者master/slave模式專用。在備份過程中捕獲oplog更改日誌,以保持一致的時間點。該選項只對全庫導出有效,所以不能指定-d選項。因爲整個實例的變更操作都會集中在local庫中的oplog.rs集合中。
--gzip:可選項。啓用備份文件的內聯壓縮。
-o:指定備份的路徑
--authenticationDatabase:認證數據庫
--oplogReplay:用於備份恢復,重放oplog。

備份恢復

# 數據庫備份恢復,${folder}是要恢復的備份所在的文件夾
mongorestore -h 'mongors/192.168.100.1:27017,192.168.100.2:27017' -u 'username' -p 'pwd' --oplogReplay --gzip ${folder}

使用crontab定時備份

步驟如下:
將備份指令寫入linux腳本。

# 指定使用/bin/bash來解釋執行
0 4 * * * /bin/bash /data/sh/mongodb.backup.sh >/dev/null 2>&1 &

登錄服務器,進入/etc文件夾。
通過 rpm -qa | grep crontab 檢查是否安裝了crontab,若未安裝,進行安裝。
使用 crontab -e命令進入 crontab 編輯頁,編輯定時任務。比如每天凌晨4點進行備份。
保存即可,不需要重啓。
檢查crontab 的運行狀態:service crond status,若 Active: active (running)則說明正在運行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章