在阿里云服务器上配置自动备份 MongoDB 数据库的操作

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 我是吃了没有提前备份数据的亏,因为一次误操作,删除了所有数据。阿里云的ECS服务器控制台有定时与自动化任务-自动备份数据服务,不免费。那么就自己动手来吧。

我是吃了没有提前备份数据的亏,因为一次误操作,删除了所有数据。阿里云的ECS服务器控制台有定时与自动化任务-自动备份数据服务,不免费。那么就自己动手来吧。
如果你是考虑数据的安全性,那么在备份数据后,还需要上传到OSS,或其他可以存储的地方。

一、安装 mongodb-org-tools

这个软件包包含了 MongoDB 备份所需的命令,如 mongodump 和 mongorestore。

sudo yum install mongodb-org-tools
AI 代码解读

如果遇到在 CentOS 上,无法找到 mongodb-org-tools 软件包的问题

No match for argument: mongodb-org-tools Error: Unable to find a match: mongodb-org-tools
AI 代码解读

创建一个新的仓库文件 /etc/yum.repos.d/mongodb-org.repo,并将以下内容粘贴到文件中:

[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
AI 代码解读

我使用的是 MongoDB 4.4.6 版本。如果你需要其他版本,请在 baseurl 和 gpgkey 中替换相应的版本号。

清除缓存并安装 mongodb-org-tools:

sudo yum clean all
sudo yum install mongodb-org-tools
AI 代码解读

二、创建一个备份脚本 backup_mongodb.sh

输入以下命令,在 /usr/local/bin 目录下创建备份脚本并使用 nano 编辑器打开:

sudo nano /usr/local/bin/backup_mongodb.sh
AI 代码解读

将以下内容粘贴到打开的编辑器中(请替换 、、 和 为实际值):

#!/bin/bash

# MongoDB 凭证
MONGODB_USER="<MONGODB_USER>"
MONGODB_PASSWORD="<MONGODB_PASSWORD>"
MONGODB_DATABASE="<MONGODB_DATABASE>"

# Backup 目录(我的目录:/var/backups/mongodb,请根据你的实际情况设置)
BACKUP_DIR="<BACKUP_DIR>"

# 如果不存在,创建备份目录
mkdir -p ${
   BACKUP_DIR}

# 获取当前日期和时间
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")

# Backup 文件名
BACKUP_FILE="${BACKUP_DIR}/mongodb_backup_${TIMESTAMP}.gz"

# 运行mongodump命令来备份MongoDB
mongodump --username={
   mathJaxContainer[1]}{
   MONGODB_PASSWORD} --db={
   mathJaxContainer[2]}{
   BACKUP_FILE}

echo "MongoDB backup created at ${BACKUP_FILE}"

# 删除超过7天的备份文件
find ${
   BACKUP_DIR} -type f -mtime +7 -name "mongodb_backup_*.gz" -exec rm {
   } \; 

echo "Deleted backups older than 7 days"
AI 代码解读

保存文件并退出编辑器。在 nano 编辑器中,按 Ctrl + X(^X),然后按 Y,然后按 Enter。
为脚本设置可执行权限:

sudo chmod +x /usr/local/bin/backup_mongodb.sh
AI 代码解读

现在,你可以在任何地方通过运行 backup_mongodb.sh 命令来手动执行该备份脚本。
三、配置定时任务
如果你需要定期自动备份,使用 crontab 配置定时任务以定期运行备份脚本。

运行以下命令:

crontab -e
AI 代码解读

在打开的编辑器中,添加以下行以每天凌晨 1 点运行备份脚本(确保替换 /path/to/backup_mongodb.sh 为实际的脚本路径):

# 分 小时 日 月 星期几 
#每天凌晨1点自动执行备份脚本
0 1 * * * /path/to/backup_mongodb.sh

#如果你只需要每周执行一次自动备份
0 1 * * 0 /path/to/backup_mongodb.sh
#代表每周日凌晨1点执行
AI 代码解读

保存并退出编辑器。现在,你的 MongoDB 数据库将每天凌晨 1 点自动备份,并且只保留最近 7 天的备份数据。
以上,就完成了在阿里云服务器上配置自动备份 MongoDB 数据库的操作。

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
打赏
0
0
0
0
224
分享
相关文章
拒绝等待!阿里云瑶池数据库 x Qwen3,构建增强式RAG
阿里云瑶池 Dify on DMS + AnalyticDB 现已支持通义千问 Qwen3 全系列模型的私域部署,并提供独占模型服务,实现高效安全的 GraphRAG 业务应用及大模型应用开发解决方案。
阿里云PolarDB与沃趣科技携手打造一体化数据库解决方案,助推国产数据库生态发展
阿里云瑶池数据库与沃趣科技将继续深化合作,共同推动国产数据库技术的持续创新与广泛应用,为行业生态的繁荣注入更强劲的技术动力。
阿里云PolarDB与沃趣科技携手打造一体化数据库解决方案,助推国产数据库生态发展
客户说|知乎基于阿里云PolarDB,实现最大数据库集群云原生升级
近日,知乎最大的风控业务数据库集群,基于阿里云瑶池数据库完成了云原生技术架构的升级。此次升级不仅显著提升了系统的高可用性和性能上限,还大幅降低了底层资源成本。
实现MySQL数据库的定时自动备份脚本。
拿走,不谢,这个脚本配方(指引)保证你的数据库数据像蛋糕店一样地天天更新,还能确保老旧的蛋糕(数据)不会堆积满仓库。这下可好,数据安全有保障,数据库管理员也能轻松一点,偶尔闲下来的时候,煮杯咖啡,看个剧岂不美哉?别忘了偶尔检查一下你的自动备份是否正常工作,以防万一蛋糕机器出了点小差错。
93 20
媒体声音|从亚太到欧美,阿里云瑶池数据库凭何成为中企出海的技术底气?
在中企出海的时代浪潮中,瑶池数据库正凭借其技术创新、场景化解决方案、智能化能力、全球化布局,成为企业跨越挑战、构建全球竞争力的关键伙伴;同时也以硬核的技术实力证明了中国数据库的国际竞争力。
阿里云服务器如何备份数据?
阿里云服务器数据备份有多种方法,用户可按需选择。主要方式包括:1)快照备份,创建云盘的时间点拷贝,支持定期备份与数据恢复;2)数据库备份DBS,适用于多种环境的数据库备份,涵盖本地及多云场景;3)云备份Cloud Backup,提供统一灾备平台,支持ECS整机、数据库、文件系统等全方位备份,保障数据安全。
【倒计时3天】NineData x Apache Doris x 阿里云联合举办数据库技术Meetup,5月24日深圳见!
5月24日,NineData联合Apache Doris与阿里云在深圳举办数据库技术Meetup。活动聚焦「数据实时分析」与「数据同步迁移」两大领域,邀请行业专家分享技术趋势、产品实践及解决方案,助力企业构建高效安全的数据管理体系。时间:14:00-17:30;地点:深圳新一代产业园2栋20楼会议室。线下名额有限(80人),速报名参与深度交流!
64 1
阿里云《快速连接云数据库RDS》训练营,火热开营中!
快速连接云数据库 RDS 训练营开营啦!从 0 到 1 学习实战技能,涵盖 RDS MySQL 快速连接、DMS 数据管理及 SQL 实战案例。完成任务赢取专业飞盘、积木等好礼(限量 100 份)

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问