Linux下MongoDB数据库如何实现自动备份

44次阅读
没有评论

共计 1579 个字符,预计需要花费 4 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章主要为大家展示了“Linux 下 MongoDB 数据库如何实现自动备份”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让丸趣 TV 小编带领大家一起研究并学习一下“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 数据库如何实现自动备份”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计1579字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)