加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 系统 > 正文

MongoD进行定时备份和复原的操作是什么

发布时间:2023-09-09 14:46:26 所属栏目:系统 来源:
导读:这篇文章主要讲解了“MongoD进行定时备份和恢复的操作是什么”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路
这篇文章主要讲解了“MongoD进行定时备份和恢复的操作是什么”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。
 
MongoDB 数据备份
 
在 MongoDB 中我们使用 mongodump 命令来备份 MongoDB 数据
 
语法如下:
 
> mongodump -h dbhost -d dbname -o dbdirectory -u user -p password
 
-h MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
 
-d 需要备份的数据库实例,例如:test
 
-o 备份的数据存放位置,例如:c:datadump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。
 
-u -p 如果有设置用户和密码,需要设置对应的用户名和密码,否则没有权限
 
MongoDB 数据恢复
 
mongodb 使用 mongorestore 命令来恢复备份的数据
 
>mongorestore -h <hostname><:port> -d dbname <path>
 
  1、--host <:port>, -h <:port>:MongoDB所在服务器地址,默认为: localhost:27017
 
  2、--db , -d :需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
 
  3、--drop:恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!
 
  4、<path>:
 
最后的一个参数,设置备份数据所在位置,例如:c:datadumptest。
 
你不能同时指定 <path> 和 --dir 选项,--dir也可以设置备份目录。
 
  5、--dir:指定备份的目录
 
你不能同时指定 <path> 和 --dir 选项。
 
定时备份 mongodb
 
环境
 
操作系统: Centos 7
 
一、 备份 shell 脚本 (/home/crontab/mongobk.sh)
 
#!/bin/sh
 
# dump 命令执行路径,根据mongodb安装路径而定
 
DUMP=/usr/bin/mongodump
 
# 临时备份路径
 
OUT_DIR=/home/backup/mongod_bak/mongod_bak_now
 
# 压缩后的备份存放路径
 
TAR_DIR=/home/backup/mongod_bak/mongod_bak_list
 
# 当前系统时间
 
DATE=`date +%Y-%m-%d`
 
# 数据库账号
 
DB_USER=user
 
# 数据库密码
 
DB_PASS=password
 
# 代表删除7天前的备份,即只保留近 7 天的备份
 
DAYS=7
 
# 最终保存的数据库备份文件
 
TAR_BAK="mongod_bak_$DATE.tar.gz"
 
cd $OUT_DIR
 
rm -rf $OUT_DIR/*
 
mkdir -p $OUT_DIR/$DATE
 
$DUMP -h 127.0.0.1:27017 -u $DB_USER -p $DB_PASS -d dbname -o $OUT_DIR/$DATE
 
# 压缩格式为 .tar.gz 格式
 
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE
 
# 删除 15 天前的备份文件
 
find $TAR_DIR/ -mtime +$DAYS -delete
 
exit
 
二、创建对应的备份目录
 
mkdir -p /home/backup/mongodb_bak/mongodb_bak_now
 
mkdir -p /home/backup/mongodb_bak/mongodb_bak_list
 
三、修改文件属性,使其可执行
 
chmod +x MongoDB_bak.sh
 
四、添加到计划任务
 
cron服务是Linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:
 
/sbin/service crond start
 
/sbin/service crond stop
 
/sbin/service crond restart
 
/sbin/service crond reload
 
以上1-4行分别为启动、停止、重启服务和重新加载配置。
 
要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入 /sbin/service crond start 即可
 
查看当前用户的crontab,输入 crontab -l;
 
编辑crontab,输入 crontab -e;
 
删除crontab,输入 crontab -r
 
1 进入编辑界面
 
crontab -e
 
2 添加任务
 
30 18 * * * /home/crontab/mongobk.sh
 
基本格式 :
 
        *  command
 
分 时 日 月 周 命令
 
第1列表示分钟1~59 每分钟用或者 /1表示
 
第2列表示小时1~23(0表示0点)
 
第3列表示日期1~31
 
第4列表示月份1~12
 
第5列标识号星期0~6(0表示星期天)
 
3 保存后对出,启动欺负
 
service crond start
 
4 设置开机自启动
 
chkconfig crond on
 
参考资源
 
centos(7.0) 上 crontab 计划任务
 
MongoDB的备份(mongodump)与恢复(mongorestore)
 
MongoDB 备份(mongodump)与恢复(mongorestore)
 
Centos7:利用crontab定时执行任务
 
Linux下MongoDB自动备份
 
mongodb 中文文档
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章