源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Mongodb实现定时备份与恢复的方法教程

  • 时间:2021-06-24 05:18 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Mongodb实现定时备份与恢复的方法教程
本文主要介绍了关于Mongodb实现定时备份与恢复的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: [b]MongoDB 数据备份[/b] 在 MongoDB 中我们使用 mongodump 命令来备份 MongoDB 数据 语法如下:
> mongodump -h dbhost -d dbname -o dbdirectory -u user -p password
[list] [*]-h MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017[/*] [*]-d 需要备份的数据库实例,例如:test[/*] [*]-o 备份的数据存放位置,例如:c:datadump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。[/*] [*]-u -p 如果有设置用户和密码,需要设置对应的用户名和密码,否则没有权限 [/*] [/list] [b]MongoDB 数据恢复[/b] 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 选项。 [b]定时备份 mongodb[/b] [b]环境[/b] 操作系统: Centos 7 [b]一、 备份 shell 脚本 (/home/crontab/mongobk.sh)[/b]
#!/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
[b]二、创建对应的备份目录[/b]
mkdir -p /home/backup/mongodb_bak/mongodb_bak_now
mkdir -p /home/backup/mongodb_bak/mongodb_bak_list
[b]三、修改文件属性,使其可执行[/b]
chmod +x MongoDB_bak.sh
[b]四、添加到计划任务[/b] 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 脚本中加入[code] /sbin/service crond start[/code] 即可 查看当前用户的crontab,输入 [code]crontab -l[/code]; 编辑crontab,输入 [code]crontab -e[/code]; 删除crontab,输入 [code]crontab -r[/code] 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
参考资源 [list] [*][url=https://my.oschina.net/yangalbert/blog/496494?p=%7B%7BtotalPage%7D]centos(7.0) 上 crontab 计划任务[/url][/*] [*][url=http://www.cnblogs.com/jiangzhichao/archive/2011/08/12/2135899.html]MongoDB的备份(mongodump)与恢复(mongorestore)[/url][/*] [*][url=http://edu.jb51.net/mongodb/mongodb-mongodump-mongorestore.html]MongoDB 备份(mongodump)与恢复(mongorestore)[/url][/*] [*][url=http://www.1sucai.cn/article/117241.htm]Centos7:利用crontab定时执行任务 [/url][/*] [*][url=http://www.1sucai.cn/article/117246.htm]Linux下MongoDB自动备份[/url][/*] [*][url=http://www.yiibai.com/mongodb/mongodb_delete_document.html]mongodb 中文文档[/url][/*] [/list] [b]总结[/b] 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程素材网的支持。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部