最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2018年09月11日 11:04:11   作者:玄冰  
這篇文章主要給大家介紹了關(guān)于Linux中MongoDB如何實(shí)現(xiàn)遠(yuǎn)程自動(dòng)備份的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

看過(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)起見,備份與庫(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)啦。

編寫腳本

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

vi /home/local/mongod_bak.sh

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

#!/bin/bash
sourcepath='/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' #ip
ip2='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}
fi
execute
echo "============== 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} =============="

編寫完之后,給到文件可執(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命令常見于Unix和類Unix的操作系統(tǒng)之中,用于設(shè)置周期性被執(zhí)行的指令。該命令從標(biāo)準(zhǔn)輸入設(shè)備讀取指令,并將其存放于crontab文件中,以供之后讀取和執(zhí)行。

通常,crontab儲(chǔ)存的指令被守護(hù)進(jìn)程激活, crond常常在后臺(tái)運(yùn)行,每一分鐘檢查是否有預(yù)定的作業(yè)需要執(zhí)行。這類作業(yè)一般稱為cron jobs。

一些常用命令可以參考下:

#啟動(dòng)服務(wù)
/sbin/service crond start 

#關(guān)閉服務(wù)
/sbin/service crond stop 

#重啟服務(wù)
/sbin/service crond restart 

#重新載入配置
/sbin/service crond reload 

#查看crontab服務(wù)狀態(tài)
service crond status 

#手動(dòng)啟動(dòng)crontab服務(wù)
service crond start 

#查看crontab服務(wù)是否已設(shè)置為開機(jī)啟動(dòng),執(zhí)行命令:
ntsysv

#加入開機(jī)自動(dòng)啟動(dòng):
chkconfig --level 35 crond on

#列出crontab文件
crontab -l

#編輯crontab文件
crontab -e

#刪除crontab文件
$ crontab -r

#恢復(fù)丟失的crontab文件
#假設(shè)你在自己的$HOME目錄下還有一個(gè)備份,那么可以將其拷貝到/var/spool/cron/<username>,其中<username >是用戶名
#或者使用如下命令其中,<filename>是你在$HOME目錄中副本的文件名
crontab <filename>

總結(jié)

慢工出細(xì)活,有些東西一開始覺得很難很麻煩,但當(dāng)你靜下心來(lái)認(rèn)真研究下,還是很容易理解的,畢竟你不是第一個(gè)踩坑的,所以還是好好學(xué)習(xí)吧。

好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • 一步步教你如何開啟、關(guān)閉ubuntu防火墻

    一步步教你如何開啟、關(guān)閉ubuntu防火墻

    這篇文章主要給大家介紹了關(guān)于如何開啟、關(guān)閉ubuntu防火墻的相關(guān)資料,文中將ubuntu系統(tǒng)中防火墻的安裝以及使用介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • 一步步教你配置并使用Xshell7免費(fèi)版

    一步步教你配置并使用Xshell7免費(fèi)版

    想要輕松掌握一款強(qiáng)大的終端仿真器嗎?恭喜你找到了答案!本指南將一步步教你如何配置并使用?Xshell7?免費(fèi)版,無(wú)論是新手還是資深用戶,都能在這里找到實(shí)用技巧和驚喜,立即跟隨我們的腳步,探索?Xshell7?的魅力吧!讓我們一起開啟高效運(yùn)維之旅!
    2024-01-01
  • telnet?Connection?refused端口不通如何處理

    telnet?Connection?refused端口不通如何處理

    本文介紹了telnet命令的基本用途及排查telnet連接拒絕的處理思路,telnet主要用于測(cè)試網(wǎng)絡(luò)連接,如遇到連接問(wèn)題,可能是由于防火墻未開放或目的主機(jī)服務(wù)未啟動(dòng),文章通過(guò)實(shí)際例子解釋了telnet命令的作用,并提供了解決網(wǎng)絡(luò)連接問(wèn)題的方法
    2024-10-10
  • CentOS7下實(shí)現(xiàn)終端輸入中文設(shè)置詳解

    CentOS7下實(shí)現(xiàn)終端輸入中文設(shè)置詳解

    這篇文章主要給大家介紹了關(guān)于CentOS7下實(shí)現(xiàn)終端輸入中文設(shè)置的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用CentOS7系統(tǒng)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • linux 不改變目錄結(jié)構(gòu)移動(dòng) home 目錄到新分區(qū)的操作方法

    linux 不改變目錄結(jié)構(gòu)移動(dòng) home 目錄到新分區(qū)的操作方法

    這篇文章主要介紹了linux 不改變目錄結(jié)構(gòu)移動(dòng) home 目錄到新分區(qū)的操作方法,需要的朋友可以參考下
    2017-12-12
  • Linux下安裝IPython配置python開發(fā)環(huán)境教程

    Linux下安裝IPython配置python開發(fā)環(huán)境教程

    這篇文章主要為大家詳細(xì)介紹了Linux下安裝IPython配置python開發(fā)環(huán)境教程,需要的朋友可以參考下
    2016-05-05
  • 詳解Ubuntu20.04用Xshell通過(guò)SSH連接報(bào)錯(cuò)的服務(wù)問(wèn)題

    詳解Ubuntu20.04用Xshell通過(guò)SSH連接報(bào)錯(cuò)的服務(wù)問(wèn)題

    這篇文章主要介紹了詳解Ubuntu20.04用Xshell通過(guò)SSH連接報(bào)錯(cuò)的服務(wù)問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • centos8安裝圖解(超詳細(xì)教程)

    centos8安裝圖解(超詳細(xì)教程)

    CentOS 完全遵守 Red Hat 的再發(fā)行政策,并且致力與上游產(chǎn)品在功能上完全兼容。這篇文章主要介紹了centos8安裝圖解,最詳細(xì)的一篇教程,本文圖文子相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2019-10-10
  • linux中普通用戶的定時(shí)任務(wù)詳解

    linux中普通用戶的定時(shí)任務(wù)詳解

    這篇文章主要給大家介紹了關(guān)于linux中普通用戶的定時(shí)任務(wù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用linux具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Linux文件查找命令總結(jié)(下篇)

    Linux文件查找命令總結(jié)(下篇)

    這篇文章主要介紹了Linux文件查找命令總結(jié)(下篇),本文章內(nèi)容詳細(xì),通過(guò)案例可以更好的掌握文件查找的相關(guān)命令,本篇為下篇,需要的朋友可以參考下
    2023-01-01

最新評(píng)論

赤峰市| 渑池县| 米易县| 云南省| 惠东县| 山阴县| 开封市| 黄大仙区| 修水县| 临城县| 白水县| 郎溪县| 富蕴县| 四平市| 逊克县| 福清市| 图们市| 乃东县| 东莞市| 丁青县| 临武县| 大理市| 蓬溪县| 正蓝旗| 仲巴县| 江津市| 大田县| 五台县| 金塔县| 开阳县| 海门市| 平遥县| 扎囊县| 昆山市| 海南省| 荆州市| 盐池县| 密山市| 得荣县| 礼泉县| 平乡县|