Mongodb實(shí)現(xiàn)定時(shí)備份與恢復(fù)的方法教程
本文主要介紹了關(guān)于Mongodb實(shí)現(xiàn)定時(shí)備份與恢復(fù)的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面來(lái)一起看看詳細(xì)的介紹:
MongoDB 數(shù)據(jù)備份
在 MongoDB 中我們使用 mongodump 命令來(lái)備份 MongoDB 數(shù)據(jù)
語(yǔ)法如下:
> mongodump -h dbhost -d dbname -o dbdirectory -u user -p password
- -h MongDB所在服務(wù)器地址,例如:127.0.0.1,當(dāng)然也可以指定端口號(hào):127.0.0.1:27017
- -d 需要備份的數(shù)據(jù)庫(kù)實(shí)例,例如:test
- -o 備份的數(shù)據(jù)存放位置,例如:c:datadump,當(dāng)然該目錄需要提前建立,在備份完成后,系統(tǒng)自動(dòng)在dump目錄下建立一個(gè)test目錄,這個(gè)目錄里面存放該數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)。
- -u -p 如果有設(shè)置用戶(hù)和密碼,需要設(shè)置對(duì)應(yīng)的用戶(hù)名和密碼,否則沒(méi)有權(quán)限
MongoDB 數(shù)據(jù)恢復(fù)
mongodb 使用 mongorestore 命令來(lái)恢復(fù)備份的數(shù)據(jù)
>mongorestore -h <hostname><:port> -d dbname <path>
1、--host <:port>, -h <:port>:MongoDB所在服務(wù)器地址,默認(rèn)為: localhost:27017
2、--db , -d :需要恢復(fù)的數(shù)據(jù)庫(kù)實(shí)例,例如:test,當(dāng)然這個(gè)名稱(chēng)也可以和備份時(shí)候的不一樣,比如test2
3、--drop:恢復(fù)的時(shí)候,先刪除當(dāng)前數(shù)據(jù),然后恢復(fù)備份的數(shù)據(jù)。就是說(shuō),恢復(fù)后,備份后添加修改的數(shù)據(jù)都會(huì)被刪除,慎用哦!
4、<path>:
最后的一個(gè)參數(shù),設(shè)置備份數(shù)據(jù)所在位置,例如:c:datadumptest。
你不能同時(shí)指定 <path> 和 --dir 選項(xiàng),--dir也可以設(shè)置備份目錄。
5、--dir:指定備份的目錄
你不能同時(shí)指定 <path> 和 --dir 選項(xiàng)。
定時(shí)備份 mongodb
環(huán)境
操作系統(tǒng): Centos 7
一、 備份 shell 腳本 (/home/crontab/mongobk.sh)
#!/bin/sh # dump 命令執(zhí)行路徑,根據(jù)mongodb安裝路徑而定 DUMP=/usr/bin/mongodump # 臨時(shí)備份路徑 OUT_DIR=/home/backup/mongod_bak/mongod_bak_now # 壓縮后的備份存放路徑 TAR_DIR=/home/backup/mongod_bak/mongod_bak_list # 當(dāng)前系統(tǒng)時(shí)間 DATE=`date +%Y-%m-%d` # 數(shù)據(jù)庫(kù)賬號(hào) DB_USER=user # 數(shù)據(jù)庫(kù)密碼 DB_PASS=password # 代表刪除7天前的備份,即只保留近 7 天的備份 DAYS=7 # 最終保存的數(shù)據(jù)庫(kù)備份文件 TAR_BAK="mongod_bak_$DATE.tar.gz" cd $OUT_DIR rm -rf $OUT_DIR/* mkdir -p $OUT_DIR/$DATE $DUMP -h 127.0.0.1:27017 -u $DB_USER -p $DB_PASS -d dbname -o $OUT_DIR/$DATE # 壓縮格式為 .tar.gz 格式 tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE # 刪除 15 天前的備份文件 find $TAR_DIR/ -mtime +$DAYS -delete exit
二、創(chuàng)建對(duì)應(yīng)的備份目錄
mkdir -p /home/backup/mongodb_bak/mongodb_bak_now mkdir -p /home/backup/mongodb_bak/mongodb_bak_list
三、修改文件屬性,使其可執(zhí)行
chmod +x MongoDB_bak.sh
四、添加到計(jì)劃任務(wù)
cron服務(wù)是Linux的內(nèi)置服務(wù),但它不會(huì)開(kāi)機(jī)自動(dòng)啟動(dòng)??梢杂靡韵旅顔?dòng)和停止服務(wù):
/sbin/service crond start /sbin/service crond stop /sbin/service crond restart /sbin/service crond reload
以上1-4行分別為啟動(dòng)、停止、重啟服務(wù)和重新加載配置。
要把cron設(shè)為在開(kāi)機(jī)的時(shí)候自動(dòng)啟動(dòng),在 /etc/rc.d/rc.local 腳本中加入 /sbin/service crond start
即可
查看當(dāng)前用戶(hù)的crontab,輸入 crontab -l
;
編輯crontab,輸入 crontab -e
;
刪除crontab,輸入 crontab -r
1 進(jìn)入編輯界面
crontab -e
2 添加任務(wù)
30 18 * * * /home/crontab/mongobk.sh
基本格式 :
* command
分 時(shí) 日 月 周 命令
第1列表示分鐘1~59 每分鐘用或者 /1表示
第2列表示小時(shí)1~23(0表示0點(diǎn))
第3列表示日期1~31
第4列表示月份1~12
第5列標(biāo)識(shí)號(hào)星期0~6(0表示星期天)
3 保存后對(duì)出,啟動(dòng)欺負(fù)
service crond start
4 設(shè)置開(kāi)機(jī)自啟動(dòng)
chkconfig crond on
參考資源
- centos(7.0) 上 crontab 計(jì)劃任務(wù)
- MongoDB的備份(mongodump)與恢復(fù)(mongorestore)
- MongoDB 備份(mongodump)與恢復(fù)(mongorestore)
- Centos7:利用crontab定時(shí)執(zhí)行任務(wù)
- Linux下MongoDB自動(dòng)備份
- mongodb 中文文檔
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- MongoDB的備份與恢復(fù)
- mongoDB4.2.8備份恢復(fù)與導(dǎo)出導(dǎo)入(推薦)
- 分布式文檔存儲(chǔ)數(shù)據(jù)庫(kù)之MongoDB備份與恢復(fù)的實(shí)踐詳解
- 使用centos系統(tǒng)中的crontab命令對(duì)mongodb定時(shí)備份恢復(fù)
- MongoDB 導(dǎo)出導(dǎo)入備份恢復(fù)數(shù)據(jù)詳解及實(shí)例
- MongoDB使用自帶的命令行工具進(jìn)行備份和恢復(fù)的教程
- Windows或Linux系統(tǒng)中備份和恢復(fù)MongoDB數(shù)據(jù)的教程
- Mongodb數(shù)據(jù)庫(kù)的備份與恢復(fù)操作實(shí)例
- MongoDB整庫(kù)備份與還原以及單個(gè)collection備份、恢復(fù)方法
- MongoDB的備份(mongodump)與恢復(fù)(mongorestore)
相關(guān)文章
MongoDB的mongo shell常用操作方法及操作腳本筆記
mongo shell即相當(dāng)于SQL語(yǔ)句在關(guān)系型數(shù)據(jù)庫(kù)中的作用,MongoDB使用JavaScript作為shell操作命令,這里我們就來(lái)整理MongoDB的mongo shell常用操作方法及操作腳本筆記2016-07-07MongoDB利用oplog恢復(fù)數(shù)據(jù)的方法
這篇文章主要介紹了MongoDB利用oplog恢復(fù)數(shù)據(jù)的方法,當(dāng)我們對(duì)數(shù)據(jù)出現(xiàn)誤操作的時(shí)候,可以利用oplog恢復(fù)數(shù)據(jù),下文操作過(guò)程需要的小伙伴可以參考一下2022-04-04開(kāi)發(fā)分布式醫(yī)療掛號(hào)系統(tǒng)MongoDB集成實(shí)現(xiàn)上傳醫(yī)院接口
這篇文章主要介紹了開(kāi)發(fā)分布式醫(yī)療掛號(hào)系統(tǒng)MongoDB集成實(shí)現(xiàn)上傳醫(yī)院接口,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04mongodb設(shè)置后臺(tái)運(yùn)行的方法
這篇文章主要介紹了mongodb設(shè)置后臺(tái)運(yùn)行的方法,本文同時(shí)給出了關(guān)閉已在后臺(tái)運(yùn)行mongodb的方法,需要的朋友可以參考下2014-09-09Mongodb如何開(kāi)啟用戶(hù)訪問(wèn)控制詳解
默認(rèn)啟動(dòng) MongoDB 服務(wù)時(shí)沒(méi)有任何參數(shù),可以對(duì)數(shù)據(jù)庫(kù)任意操 作,而且可以遠(yuǎn)程訪問(wèn)數(shù)據(jù)庫(kù),所以推薦開(kāi)發(fā)階段可以不設(shè)置任何參數(shù),但對(duì)于生產(chǎn)環(huán)境還是要仔細(xì)考慮一下安全方面的因素,下面就介紹了Mongodb開(kāi)啟用戶(hù)訪問(wèn)控制的相關(guān)資料。2017-01-01mongose 模糊檢索實(shí)現(xiàn)方法示例詳解
這篇文章主要為大家介紹了mongose 模糊檢索實(shí)現(xiàn)方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08