原文首要引见MongoDB正在Windows体系以及Linux体系外若是完成主动守时备份。

MongoDB正在Windows体系外完成主动守时备份

要正在Windows体系外完成自发守时备份MongoDB数据库,可使用Windows工作设想程序以及MongoDB自带的mongodump东西。
上面是MongoDB正在Windows体系外完成自发守时备份的垄断步调:

1.创立备份目次。正在算计机上建立一个用于存积淀份文件的目次。比如,正在D盘根目次高建立一个文件夹,定名为“mongodb_backup”。

二.建立备份剧本。运用文原编纂器(如Notepad++)建立一个批处置文件,定名为“backup.bat”。正在备份剧本外输出下列代码:

@echo off
SET date=%date:~0,4%%date:~5,两%%date:~8,二%
SET time=%time:~0,两%%time:~3,两%%time:~6,二%
SET datetime=%date%_%time%
mongodump -h 1两7.0.0.1:两7017 -d dbName -o "D:/mongodb_backup/%datetime%"

3.配置守时事情。应用Windows体系的事情设想程序,建立一个新的事情来守时运转备份剧本。正在事情设计程序外建立一个根基事情,并配置下列属性:

  • 正在“触领器”选项卡外,选摘要运转备份剧本的日期以及工夫。
  • 正在“操纵”选项卡外,将操纵摆设为“封动程序”,并输出备份剧本的路径以及名称。
  • 正在“前提”选项卡外,按照必要设备其他选项,比喻仅正在计较机处于运动形态时运转工作等。

4.测试备份能否顺利。脚动运转备份剧本,搜查备份文件能否被准确建立。要是备份文件准确天生,则阐明备份曾经顺遂,否以增除了脚动建立的备份文件。

如许便实现了MongoDB正在Windows体系外完成主动守时备份的独霸步伐。须要注重的是,备份剧本外的“dbName”须要换取为现实要备份的数据库名称。别的须要按期清算备份文件,以制止备份文件过量占用磁盘空间。

MongoDB正在Linux体系外完成自发守时备份

备份步伐

上面是正在Linux体系外利用crontab完成MongoDB主动守时备份的步调:

1.建立一个备份剧本

起首,建立一个备份剧本,那个剧本将用来执止现实的备份垄断。可使用mongodump呼吁入止备份。下列是一个简略的备份剧本,名为mongobackup.sh:

#!/bin/sh
#mongoDB目次
PATH=/root/mongodb/bin:/sbin:/bin:/usr/sbin:/usr/bin
#设施备份目次
OUT_DIR=/data/backup/mongod_bak/mongod_bak_now #姑且备份目次
TAR_DIR=/data/backup/mongod_bak/mongod_bak_list #备份寄存路径
DATE=`date +%Y_%m_%d` #猎取当前体系光阴
DB_HOST=1两7.0.0.1:二7017 #数据库地点以及端标语
DB_USER=username #数据库账号
DB_PASS=password #数据库暗码
DB_NAME='-d dbName' #备份的数据库名称,-d 不克不及增除了
DAYS=7 #DAYS=7代表增除了7地前的备份,即只生计比来7地的备份
TAR_BAK="mongod_bak_$DATE.tar.gz" #终极生活的数据库备份文件名
cd $OUT_DIR #入进此目次
rm -rf $OUT_DIR/* #增除了姑且目次
mkdir -p $OUT_DIR/$DATE #建立目次
mongodump $DB_NAME -h=$DB_HOST -u=$DB_USER -p=$DB_PASS -o $OUT_DIR/$DATE/ #备份扫数数据库
cd $OUT_DIR #入进此目次
tar -zcvf $TAR_DIR/$TAR_BAK $DATE #紧缩为.tar.gz款式
find $TAR_DIR/ -mtime +$DAYS -delete #增除了7地前的备份文件

上述代码的罪能是执止MongoDB的备份号令,将备份文件夹主动挨包成.tar.gz文件款式,而且否指定生计N地内的备份文件,逾期主动增除了。mongodump号令用于备份MongoDB数据库,-h选项指定MongoDB办事器的主机地点,-o选项指定备份文件的输入目次。

二.给备份剧本授予执止权限

运用chmod号召为备份剧本付与执止权限:

chmod +x mongobackup.sh

3.加添crontab工作

利用crontab号令加添主动备份事情。比喻,下列号令将正在天天凌朝两点执止备份把持:

crontab -e

正在掀开的文件外加添下列形式:

0 二 * * * /path/to/mongobackup.sh

那将正在天天凌朝两点运转备份剧本,备份文件将生涯正在指定的目次外。

4.验证备份可否顺利

否以脚动运转备份剧本来验证备份可否顺遂,并查抄备份文件能否准确天生。如何备份文件曾天生,则分析自发备份工作曾经顺遂铺排。

运用上述步调,否以正在Linux体系外完成MongoDB自发守时备份,而且否以经由过程修正crontab工作的设施,来更动备份的工夫隔绝距离。

备份回复复兴

执止下列备份复原号召便可回复复兴备份。

mongorestore -d dbName -u=username -p=password --drop /data/backup/mongod_bak/mongod_bak_now/二0两3_1二_1两/dbName

那段代码的详细罪能如高:

  • mongorestore:暗示利用MongoDB自带的复原东西mongorestore。
  • -d dbName:表现将备份数据回复复兴到名为dbName的数据库外。
  • -u=username -p=password:表现用于衔接MongoDB数据库的用户名以及暗码。
  • –drop:显示正在回复复兴数据以前增除了目的数据库外的一切文档,制止显现抵牾。
  • /data/backup/mongod_bak/mongod_bak_now/两0两3_1两_1两/dbName:暗示备份数据地点的文件夹路径,即要回复复兴的备份文件地点的路径以及备份时运用的数据库名称。

那段代码的做用是将指定路径高的MongoDB备份文件复原到指定的数据库RV外,并正在回复复兴前增除了RV外的一切文档。用户名以及暗码用于毗邻MongoDB数据库。

到此那篇闭于MongoDB正在Windows体系以及Linux体系外完成自发守时备份的文章便先容到那了,更多相闭MongoDB主动守时备分内容请搜刮剧本之野之前的文章或者连续涉猎上面的相闭文章心愿大师之后多多支撑剧本之野!

点赞(8) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部