Mongodb实现定时备份与恢复的方法教程
本文主要介绍了关于Mongodb实现定时备份与恢复的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:
MongoDB数据备份
在MongoDB中我们使用mongodump命令来备份MongoDB数据
语法如下:
>mongodump-hdbhost-ddbname-odbdirectory-uuser-ppassword
- -hMongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
- -d需要备份的数据库实例,例如:test
- -o备份的数据存放位置,例如:c:datadump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。
- -u-p如果有设置用户和密码,需要设置对应的用户名和密码,否则没有权限
MongoDB数据恢复
mongodb使用mongorestore命令来恢复备份的数据
>mongorestore-h<:port>-ddbname
1、--host<:port>,-h<:port>:MongoDB所在服务器地址,默认为:localhost:27017
2、--db,-d:需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
3、--drop:恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!
4、
最后的一个参数,设置备份数据所在位置,例如:c:datadumptest。
你不能同时指定
5、--dir:指定备份的目录
你不能同时指定
定时备份mongodb
环境
操作系统:Centos7
一、备份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-h127.0.0.1:27017-u$DB_USER-p$DB_PASS-ddbname-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+xMongoDB_bak.sh
四、添加到计划任务
cron服务是Linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:
/sbin/servicecrondstart /sbin/servicecrondstop /sbin/servicecrondrestart /sbin/servicecrondreload
以上1-4行分别为启动、停止、重启服务和重新加载配置。
要把cron设为在开机的时候自动启动,在/etc/rc.d/rc.local脚本中加入/sbin/servicecrondstart即可
查看当前用户的crontab,输入crontab-l;
编辑crontab,输入crontab-e;
删除crontab,输入crontab-r
1进入编辑界面
crontab-e
2添加任务
3018***/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保存后对出,启动欺负
servicecrondstart
4设置开机自启动
chkconfigcrondon
参考资源
- centos(7.0)上crontab计划任务
- MongoDB的备份(mongodump)与恢复(mongorestore)
- MongoDB备份(mongodump)与恢复(mongorestore)
- Centos7:利用crontab定时执行任务
- Linux下MongoDB自动备份
- mongodb中文文档
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。