MongoDB在Windows系统和Linux系统中实现自动定时备份的操作步骤

 更新时间:2023年12月12日 09:59:53   作者:专业研究祖传Bug编写术  
要在Windows系统中实现自动定时备份MongoDB数据库,可以使用Windows任务计划程序和MongoDB自带的mongodump工具,这篇文章主要介绍了MongoDB在Windows系统和Linux系统中实现自动定时备份的操作步骤,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

本文主要介绍MongoDB在Windows系统和Linux系统中如何实现自动定时备份。

MongoDB在Windows系统中实现自动定时备份

要在Windows系统中实现自动定时备份MongoDB数据库,可以使用Windows任务计划程序和MongoDB自带的mongodump工具。
下面是MongoDB在Windows系统中实现自动定时备份的操作步骤:

1.创建备份目录。在计算机上创建一个用于存储备份文件的目录。例如,在D盘根目录下创建一个文件夹,命名为“mongodb_backup”。

2.创建备份脚本。使用文本编辑器(如Notepad++)创建一个批处理文件,命名为“backup.bat”。在备份脚本中输入以下代码:

@echo off
SET date=%date:~0,4%%date:~5,2%%date:~8,2%
SET time=%time:~0,2%%time:~3,2%%time:~6,2%
SET datetime=%date%_%time%
mongodump -h 127.0.0.1:27017 -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=127.0.0.1:27017 #数据库地址和端口号
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选项指定备份文件的输出目录。

2.给备份脚本授予执行权限

使用chmod命令为备份脚本赋予执行权限:

chmod +x mongobackup.sh

3.添加crontab任务

使用crontab命令添加自动备份任务。例如,以下命令将在每天凌晨2点执行备份操作:

crontab -e

在打开的文件中添加以下内容:

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

这将在每天凌晨2点运行备份脚本,备份文件将保存在指定的目录中。

4.验证备份是否成功

可以手动运行备份脚本来验证备份是否成功,并检查备份文件是否正确生成。如果备份文件已经生成,则说明自动备份任务已经成功设置。

使用上述步骤,可以在Linux系统中实现MongoDB自动定时备份,并且可以通过修改crontab任务的配置,来更改备份的时间间隔。

备份恢复

执行以下备份恢复命令即可恢复备份。

mongorestore -d dbName -u=username -p=password --drop /data/backup/mongod_bak/mongod_bak_now/2023_12_12/dbName

这段代码的具体功能如下:

  • mongorestore:表示使用MongoDB自带的恢复工具mongorestore。
  • -d dbName:表示将备份数据恢复到名为dbName的数据库中。
  • -u=username -p=password:表示用于连接MongoDB数据库的用户名和密码。
  • –drop:表示在恢复数据之前删除目标数据库中的所有文档,避免出现冲突。
  • /data/backup/mongod_bak/mongod_bak_now/2023_12_12/dbName:表示备份数据所在的文件夹路径,即要恢复的备份文件所在的路径和备份时使用的数据库名称。

这段代码的作用是将指定路径下的MongoDB备份文件恢复到指定的数据库RV中,并在恢复前删除RV中的所有文档。用户名和密码用于连接MongoDB数据库。

到此这篇关于MongoDB在Windows系统和Linux系统中实现自动定时备份的文章就介绍到这了,更多相关MongoDB自动定时备份内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • centos离线安装mongodb-database-tools方法详解

    centos离线安装mongodb-database-tools方法详解

    这篇文章主要介绍了centos离线安装mongodb-database-tools方法详解的相关资料,需要的朋友可以参考下
    2022-11-11
  • MongoDB如何正确中断正在创建的索引详解

    MongoDB如何正确中断正在创建的索引详解

    这篇文章主要给大家介绍了关于MongoDB如何正确中断正在创建的索引的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 使用zabbix监控mongodb的方法

    使用zabbix监控mongodb的方法

    MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。通过本文给大家介绍使用zabbix监控mongodb的方法,需要的朋友参考下
    2016-02-02
  • MongoDB自动删除过期数据的方法(TTL索引)

    MongoDB自动删除过期数据的方法(TTL索引)

    这篇文章主要给大家介绍了关于MongoDB自动删除过期数据(TTL索引)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • MongoDb优化指南

    MongoDb优化指南

    在大数据时代中,大数据量的处理已经成了考量一个数据库最重要的原因之一。这篇文章给大家分享MongoDb优化指南,感兴趣的朋友一起看看吧
    2018-11-11
  • mongodb 数据库操作--备份 还原 导出 导入

    mongodb 数据库操作--备份 还原 导出 导入

    mongodb数据备份和还原主要分为二种,一种是针对于库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport。
    2014-07-07
  • MongoDB使用小结 一些常用操作分享

    MongoDB使用小结 一些常用操作分享

    本文整理了一年多以来我常用的MongoDB操作,涉及mongo-shell、pymongo,既有运维层面也有应用层面,内容有浅有深,这也就是我从零到熟练的历程,需要的朋友可以参考下
    2017-03-03
  • mongodb 数据库操作详解--创建,切换,删除

    mongodb 数据库操作详解--创建,切换,删除

    mongodb是nosql里面最像关系型数据库的数据库。单表操作,基本上可以和关系型数据库差不多。mongodb比较易学,易用,分几期记录一下,学习和使用mongodb过程。
    2014-07-07
  • MongoDB连接数据库并创建数据等使用方法

    MongoDB连接数据库并创建数据等使用方法

    MongoDB?是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。接下来通过本文给大家介绍MongoDB连接数据库并创建数据等使用方法,感兴趣的朋友一起看看吧
    2021-11-11
  • MongoDB数据库部署环境准备及使用介绍

    MongoDB数据库部署环境准备及使用介绍

    这篇文章主要为大家介绍了MongoDB数据库部署环境准备以及基本的使用介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03

最新评论

?


http://www.vxiaotou.com