麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 數(shù)據(jù)庫(kù) > MongoDB > 正文

Linux中MongoDB如何實(shí)現(xiàn)遠(yuǎn)程自動(dòng)備份詳解

2024-09-07 00:22:38
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言

看過(guò)上一篇接手老項(xiàng)目的痛――MongoDB學(xué)習(xí)及集群搭建知道,最近接手了一個(gè)后媽養(yǎng)的項(xiàng)目,項(xiàng)目的數(shù)據(jù)庫(kù)沒(méi)有人維護(hù),DBA以各種理由推脫暫時(shí)不接,面對(duì)裸奔沒(méi)有備份的數(shù)據(jù)庫(kù),我的內(nèi)心很焦灼,于是花了點(diǎn)時(shí)間把生產(chǎn)環(huán)境的自動(dòng)備份給搞起來(lái)。

下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧

一些準(zhǔn)備

既然都備份了,為了保險(xiǎn)起見(jiàn),備份與庫(kù)就不放在同一臺(tái)服務(wù)器上了,于是向運(yùn)維申請(qǐng)了一臺(tái)服務(wù)器,同時(shí)安裝好mongo,如果不知道怎么安裝mongo的話可以看我的上一篇文章。

安裝完之后,首先測(cè)試下是否可以遠(yuǎn)程訪問(wèn)目標(biāo)mongodb,到安裝好mongo的bin目錄下

./mongo 10.100.1.101:27017 #目標(biāo)mongo的ip及端口

然后創(chuàng)建些必要的目錄,比如備份文件放在哪個(gè)目錄之類的。

接下來(lái)測(cè)試下利用mongodump來(lái)備份數(shù)據(jù)庫(kù):

./bin/mongodump --host test/10.100.1.101:27017,10.100.1.102:27017 -d testdb --out /data/temp# test為副本集名稱# 10.100.1.101:27017,10.100.1.102:27017為副本集節(jié)點(diǎn),有多個(gè)可以多個(gè)# -d testdb是要備份的庫(kù)名,不填默認(rèn)副本集下全部# --out 保存路徑

到這里,mongo的備份已經(jīng)實(shí)現(xiàn),現(xiàn)在要完成的就是自動(dòng)啦。

編寫(xiě)腳本

自動(dòng)定時(shí)備份其實(shí)就是通過(guò)crontab命令來(lái)實(shí)現(xiàn)啦。但前提是我們需要編寫(xiě)個(gè)定時(shí)跑的腳本。首先我們新建個(gè)腳本:

vi /home/local/mongod_bak.sh

然后編寫(xiě)對(duì)應(yīng)的腳本,腳本上有對(duì)應(yīng)的注釋,供大家參考,這里主要做了三個(gè)動(dòng)作,首先是備份,然后將備份的文件壓縮,然后只保留最近7天的文件。

#!/bin/bashsourcepath='/home/local/mongodb/bin'  #mongodb文件路徑targetpath='/home/local/mongodb_bak' #備份的路徑nowtime=$(date +%Y-%m-%d-%H)replicationname='test'  #副本集名dbname='testdb' #庫(kù)名port='27017' #端口ip1='10.100.1.101' #ipip2='10.100.1.102'echo "============== start backup ${nowtime} =============="start(){ ${sourcepath}/mongodump --host ${replicationname}/${ip1}:${port},${ip2}:${port} -d ${dbname} --out ${targetpath}/${nowtime}}execute(){ start if [ $? -eq 0 ] then echo "back successfully!" else echo "back failure!" fi} if [ ! -d "${targetpath}/${nowtime}/" ]then mkdir ${targetpath}/${nowtime}fiexecuteecho "============== back end ${nowtime} =============="echo "============== start zip ${nowtime} =============="zip -r ${targetpath}/${nowtime}.zip ${targetpath}/${nowtime}rm -rf ${targetpath}/${nowtime}echo "============== zip end ${nowtime} =============="echo "============== start delete seven days ago back ${nowtime} =============="find ${targetpath} -type f -mtime +7 -name "*" -exec rm -rf {} /; echo "============== delete end ${nowtime} =============="

編寫(xiě)完之后,給到文件可執(zhí)行權(quán)限,并可以手動(dòng)執(zhí)行測(cè)試下:

chmod +x /home/local/mongod_bak.sh

定時(shí)任務(wù)

最后就是添加執(zhí)行計(jì)劃了,修改/etc/crontab

crontab -e

添加執(zhí)行腳本,保存即可。

30 1 * * * /home/local/mongod_bak.sh #表示每天凌晨1點(diǎn)30執(zhí)行備份

這里簡(jiǎn)單介紹下crontab。

crontab命令常見(jiàn)于Unix和類Unix的操作系統(tǒng)之中,用于設(shè)置周期性被執(zhí)行的指令。該命令從標(biāo)準(zhǔn)輸入設(shè)備讀取指令,并將其存放于crontab文件中,以供之后讀取和執(zhí)行。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: av懂色| 亚洲网在线| 毛片网站视频 | 免费人成年短视频在线观看网站 | 黄色大片免费网站 | 国产妞干网 | 国产精品三级a三级三级午夜 | 亚州综合网 | 精品久久一区二区三区 | 亚洲精品久久久久久久久久久 | 成人福利软件 | 欧美性生交大片 | 午夜精品在线视频 | 精品亚洲在线 | 99精品视频在线导航 | 斗罗破苍穹在线观看免费完整观看 | 国产一区二区三区撒尿在线 | 精品中文字幕久久久久四十五十骆 | 国产高清美女一级毛片久久 | 在线播放亚洲精品 | 视频一区二区三区免费观看 | 黄色免费av| 久久国产精品久久久久久 | 日韩视频www | 伊人99在线 | 日本高清在线播放 | 欧美黄色大片免费观看 | 在线a毛片免费视频观看 | 黑人一级片视频 | 国产成人午夜高潮毛片 | 欧美在线观看禁18 | 精品国产一区二区三区四区阿崩 | 性爱视频在线免费 | 欧美黄色大片免费观看 | 本色视频aaaaaa一级网站 | 一二区成人影院电影网 | 一区二区三区四区高清视频 | 黄色特级一级片 | 在线观看免费视频麻豆 | 日本网站在线看 | 精品国产成人 |