前言
在开发 Web 应用中,使用数据库存储数据是很正常的事情,MongoDB 作为一种 NoSQL 数据库,因其方便、灵活、具有高可扩展性等特点而受到广泛的青睐。但是,现实中随时可能面临多种数据恢复的问题,为此,我们需要一个可靠的数据备份工具,方便我们在遇到意外情况时快速恢复数据。本文将介绍一个 npm 包 -- mongodb-atlas-backup,它可以帮助我们在备份 MongoDB Atlas 数据库时事半功倍。
什么是 mongodb-atlas-backup
mongodb-atlas-backup 是一个用于备份 MongoDB Atlas 的 npm 包,它的使用非常简单,无需编写繁琐的 Shell 脚本或执行 MongoDB 的操作命令。通过使用 mongodb-atlas-backup,您可以轻松地创建和管理 MongoDB Atlas 快速而强大的备份。
mongodb-atlas-backup 支持以下功能:
- 通过 Node.js 启动抓取 MongoDB 数据库
- 对数据库进行全局扫描
- 可以定期备份数据库
- 支持将备份数据上传至 AWS S3
- 支持 GZIP 压缩备份数据
支持以下操作系统:
- Linux
- Mac OS X
- Windows
安装 mongodb-atlas-backup
在开发之前,我们需要先安装 mongodb-atlas-backup。在项目根目录打开终端输入以下命令安装 mongodb-atlas-backup:
npm install mongodb-atlas-backup --save
使用 mongodb-atlas-backup
在安装 mongodb-atlas-backup 之后,我们就可以使用该 npm 包备份我们的 MongoDB Atlas 数据库了。
配置
在使用之前,我们需要对 mongodb-atlas-backup 进行配置。
配置 MongoDB Atlas API 信息
在使用 mongodb-atlas-backup 时,我们需要使用 MongoDB Atlas API 来操作数据库。因此,我们需要提供 API 的信息。在 MongoDB Atlas 控制台中,找到 “Security” -> “API Access” -> “Add a New API Key”,创建一个 API Key。
配置环境变量
将 API Key 和 Group ID 作为环境变量进行配置,该操作可以使我们的 API Key 和 Group ID 私密不被泄露。
在终端中输入以下命令,配置环境变量:
export MONGODB_ATLAS_PUBLIC_KEY=<YOUR_PUBLIC_KEY> export MONGODB_ATLAS_PRIVATE_KEY=<YOUR_PRIVATE_KEY> export MONGODB_ATLAS_GROUP_ID=<YOUR_GROUP_ID>
其中,YOUR_PUBLIC_KEY 和 YOUR_PRIVATE_KEY 分别为您的 MongoDB Atlas API Key 的 public 和 private 部分,YOUR_GROUP_ID 为 MongoDB Atlas Group ID。
配置 S3 Bucket 信息
若想要将备份数据上传至 AWS S3,则需要将 S3 Bucket 的信息传递给 mongodb-atlas-backup。在终端中输入以下命令进行相应的配置:
export MONGODB_ATLAS_S3_BUCKET=<YOUR_S3_BUCKET> export MONGODB_ATLAS_S3_REGION=<YOUR_S3_REGION>
其中,YOUR_S3_BUCKET 为 S3 Bucket 的名称,YOUR_S3_REGION 为 S3 Bucket 所属的区域。该步骤是可选的,如果您不需要将备份数据上传至 AWS S3,则可以跳过此步骤。
备份数据
在完成配置之后,我们就可以愉快地备份 MongoDB Atlas 数据库了。在终端中输入以下命令:
npx mongodb-atlas-backup
执行该命令后,程序会自动连接 MongoDB Atlas 数据库,并对数据进行备份。备份数据会被保存在当前目录下的 “dump” 文件夹中。备份数据的具体规则可以在后续的参数中进行设置。
自定义备份参数
在使用 mongodb-atlas-backup 时,我们可以对备份的参数进行相应的配置。以下是几个常用的配置:
--compress
- 对备份数据进行 gzip 压缩。--upload
- 将备份数据上传至 AWS S3。--force
- 强制备份数据,即使数据未变化。--cron
- 在指定时间段内定期备份数据。例如,每天 6 点备份数据。
以下是一个自定义备份参数的示例:
npx mongodb-atlas-backup --compress --upload --force --cron '0 6 * * *'
总结
至此,我们已经介绍了如何使用 mongodb-atlas-backup 来备份 MongoDB Atlas 数据库。mongodb-atlas-backup 的使用非常简单,并且支持自定义备份参数。使用 mongodb-atlas-backup,我们可以轻松地管理和备份 MongoDB Atlas 数据库。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055cb181e8991b448da17b