博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux下mongodb定时备份指定的集合
阅读量:6419 次
发布时间:2019-06-23

本文共 2282 字,大约阅读时间需要 7 分钟。

目标:把一台linux机上mongodb的数据定时备份到另一台机上:

过程:

   一开始打算使用mongoexport和mongoimport,但是总是会报“\x00”字符串不能识别的问题,后来就改成了mongodump和mongorestart,成功实现目标。

  (\x00的问题还在寻找解决办法);

脚本代码:

#获取系统时间并转换成毫秒数current=`date "+%Y-%m-%d %H:%M:%S"`;timeStamp=`date -d "$current" +%s`;#当前时间的毫秒数currentTimeStamp=$((timeStamp*1000));#一个小时前这个时候的毫秒数yestodayTimeStamp=$((currentTimeStamp-43*60*60*1000));echo $current;echo $timeStamp;echo $currentTimeStamp;echo $yestodayTimeStamp;echo "File not exist!dump `date "+%Y-%m-%d %H:%M:%S"` $currentTimeStamp $yestodayTimeStamp" >>/home/admin/testlog.log#备份新产生表/home/admin/mongodb305/mongodb305/bin/mongodump --port 47017 -u admin -p admin -d admin -c alarm -q '{"recTime":{$gte:'$yestodayTimeStamp',$lt:'$currentTimeStamp'}}' -o /home/admin/dumptest;/home/admin/mongodb305/mongodb305/bin/mongodump --port 47017 -u admin -p admin -d admin -c filtering_alarm -q '{"recTime":{$gte:'$yestodayTimeStamp',$lt:'$currentTimeStamp'}}' -o /home/admin/dumptest;/home/admin/mongodb305/mongodb305/bin/mongodump --port 47017 -u admin -p admin -d admin -c combine_alarm -q '{"recTime":{$gte:'$yestodayTimeStamp',$lt:'$currentTimeStamp'}}' -o /home/admin/dumptest;/home/admin/mongodb305/mongodb305/bin/mongodump --port 47017 -u admin -p admin -d admin -c processed_alarm -q '{"recTime":{$gte:'$yestodayTimeStamp',$lt:'$currentTimeStamp'}}' -o /home/admin/dumptest/home/admin/mongodb305/mongodb305/bin/mongorestore -h 192.168.0.213 --port 27017 -u admin -p admin -d admin -c alarm --keepIndexVersion --maintainInsertionOrder /home/admin/dumptest/admin/alarm.bson;/home/admin/mongodb305/mongodb305/bin/mongorestore -h 192.168.0.213 --port 27017 -u admin -p admin -d admin -c filtering_alarm --keepIndexVersion --maintainInsertionOrder /home/admin/dumptest/admin/filtering_alarm.bson;/home/admin/mongodb305/mongodb305/bin/mongorestore -h 192.168.0.213 --port 27017 -u admin -p admin -d admin -c combine_alarm --keepIndexVersion --maintainInsertionOrder /home/admin/dumptest/admin/combine_alarm.bson;/home/admin/mongodb305/mongodb305/bin/mongorestore -h 192.168.0.213 --port 27017 -u admin -p admin -d admin -c processed_alarm --keepIndexVersion --maintainInsertionOrder /home/admin/dumptest/admin/processed_alarm.bson

crontab定时任务代码:

39 10 * * * root /home/admin/dumptest2.sh
备份之后根据条件查看两个mongodb中的数据一致,备份成功。

转载地址:http://nxmra.baihongyu.com/

你可能感兴趣的文章
浙江2013省赛——Java Beans
查看>>
电子商务数据运营的五大应用
查看>>
这样记单词最有效
查看>>
在ORACLE中移动数据库文件
查看>>
我的友情链接
查看>>
yum服务器
查看>>
第七部分第二十章:虚拟专用网互联网协议安全性:基于路由的×××
查看>>
C#Windows服务:一些方法(启动、停止等)
查看>>
weblogic修改应用服务器启动密码
查看>>
tcpdump统计http请求
查看>>
交互上的费兹定律
查看>>
止增笑耳的星际迷航前传
查看>>
sqlite语法
查看>>
hadoop的常用命令指南
查看>>
android的权限集合(一部分)
查看>>
struts2中$FileRevision.needsReloading错误
查看>>
Apaceh 多虚拟主机多站点配置两种方案
查看>>
ecshop添加新的配送方式
查看>>
C++ __int64用法
查看>>
10.9PMP每日一题
查看>>