Linux下MongoDB数据库实现自动备份详解

发布时间 - 2026-01-11 02:04:27    点击率:

本文主要给大家介绍的是关于Linux下MongoDB数据库实现自动备份的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:

一、创建MongoDB备份目录

mkdir -p /data/mongodb_bak/mongodb_bak_now
mkdir -p /data/mongodb_bak/mongodb_bak_list

二、新建MongoDB数据库备份脚本(/data/mongodb_bak/MongoDB_bak.sh)

#!/bin/bash 
#backup MongoDB 
 
#mongodump命令路径 
DUMP=/usr/local/mongodb/bin/mongodump 
#临时备份目录 
OUT_DIR=/data/mongodb_bak/mongodb_bak_now 
#备份存放路径 
TAR_DIR=/data/mongodb_bak/mongodb_bak_list 
#获取当前系统时间 
DATE=`date +%Y_%m_%d` 
#数据库账号 
DB_USER=user 
#数据库密码 
DB_PASS=123 
#DAYS=15代表删除15天前的备份,即只保留近15天的备份 
DAYS=15 
#最终保存的数据库备份文件 
TAR_BAK="mongodb_bak_$DATE.tar.gz" 
 
cd $OUT_DIR 
rm -rf $OUT_DIR/* 
mkdir -p $OUT_DIR/$DATE 
#备份全部数据库 
$DUMP -h 15.62.32.112:27017 -u $DB_USER -p $DB_PASS --authenticationDatabase "admin" -o $OUT_DIR/$DATE 
#压缩为.tar.gz格式 
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE 
#删除15天前的备份文件 
find $TAR_DIR/ -mtime +$DAYS -delete 
 
exit 

三、修改文件属性,使其可执行

chmod +x MongoDB_bak.sh

四、修改/etc/crontab,添加计划任务

vi /etc/crontab
#每星期六晚上20:30开始执行MongoDB数据库备份脚本
30 20 * * 6 root /data/mongodb_bak/MongoDB_bak.sh 

附录:MongoDB数据库恢复

#恢复全部数据库
mongorestore -u $DB_USER -p $DB_PASS --authenticationDatabase "admin" --noIndexRestore --dir /data/mongodb_bak/mongodb_bak_now/2016_12_17/
#恢复单个数据库
mongorestore -u $DB_USER -p $DB_PASS --authenticationDatabase "admin" --noIndexRestore -d dbname --dir /data/mongodb_bak/mongodb_bak_now/2016_12_17/dbname

部分参数说明

  • --drop参数:恢复数据之前删除原来的数据,避免数据重复
  • --noIndexRestore参数:恢复数据时不创建索引
  • --dir参数:数据库备份目录
  • -d参数:后面跟要恢复的数据库名称

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# linux  # mongodb  # 备份  # 自动备份  # Windows下自动备份MongoDB的批处理脚本  # Linux中MongoDB如何实现远程自动备份详解  # MongoDB实现自动备份的全过程记录  # 的是  # 备份文件  # 相关内容  # 给大家  # 使其  # 这篇文章  # 谢谢大家  # 可执行  # 晚上  # 有疑问  # local  # DUMP  # usr  # backup  # mongodump  # bin  # OUT_DIR  # user 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  制作旅游网站html,怎样注册旅游网站?  英语简历制作免费网站推荐,如何将简历翻译成英文?  Laravel如何使用Collections进行数据处理?(实用方法示例)  如何用已有域名快速搭建网站?  EditPlus 正则表达式 实战(3)  微信h5制作网站有哪些,免费微信H5页面制作工具?  微信小程序 require机制详解及实例代码  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  零基础网站服务器架设实战:轻量应用与域名解析配置指南  如何用y主机助手快速搭建网站?  如何有效防御Web建站篡改攻击?  使用spring连接及操作mongodb3.0实例  免费视频制作网站,更新又快又好的免费电影网站?  如何用PHP快速搭建CMS系统?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  深圳网站制作培训,深圳哪些招聘网站比较好?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  C++用Dijkstra(迪杰斯特拉)算法求最短路径  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  如何获取PHP WAP自助建站系统源码?  如何在新浪SAE免费搭建个人博客?  怎样使用JSON进行数据交换_它有什么限制  iOS验证手机号的正则表达式  php json中文编码为null的解决办法  Bootstrap整体框架之CSS12栅格系统  如何快速搭建高效WAP手机网站?  MySQL查询结果复制到新表的方法(更新、插入)  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  如何挑选高效建站主机与优质域名?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  使用Dockerfile构建java web环境  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  郑州企业网站制作公司,郑州招聘网站有哪些?  如何在橙子建站上传落地页?操作指南详解  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  如何在Windows服务器上快速搭建网站?  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  微信推文制作网站有哪些,怎么做微信推文,急?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程