- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux下定时按条件备份 mongodb 指定的集合
1、 说明:
在不使用副本集模式即时备份的情况下,还可以使用Mongdb 中自带的两个可以进行备份和恢复的工具,分别是 mongodump 和 mongorestore、mongoexport 和mongoimport;
但是这两种备份并没有定时的功能,假如我们需要每天固定一个时间备份数据的话, 需要使用linux中的 shell脚本并结合 linux系统的定时任务 crontab;
2、 示例脚本代码,脚本逻辑如下:
、获取系统时间,得到备份时的查询条件,开始和结束时间;
、根据开始和结束条件备份数据到指定的临时文件夹 dumptest 中;
、判断当前日期是不是每月的第一或第二天,如果是第一天,需要把备份的前一天的数据放回到上个月的备份存储文件中;如果是当月第二天,需要新建一个本月的备份数据存储文件;
、把 dumptest 中每日备份的临时文件追加到相应的数据存储文件中。 dumptest1.sh文件内容如下(本示例在 192.168.0.160上操作):
#获取系统时间并转换成毫秒数
currentsec=`date +%S`
#从定时任务到这里获取系统时间要消耗一秒,因此减掉lastsec=$((currentsec-1))
current=`date +%Y-%m-%d %H:%M:`$lastsec timeStamp=`date -d $current +%s`
#当前时间的毫秒数currentTimeStamp=$((timeStamp*1000)) #一天前这个时候的毫秒数
yestodayTimeStamp=$((currentTimeStamp-24*60*60*1000)); #获取当前是哪一天
currentDay=`date +%d`
#获取当前月currentMonth=`date +%Y%m` echo $currentMonth
#上个月月份
lastMonth=`date -d last month +%Y%m`
#判断每日备份的临时文件目录是否存在if [ -e /home/admin/dumptest ]; then
rm -rf dumptest
echo $currentdeletedumptest and dump start,currentTimeStam$pcurrentTimeStamplastTimeStamp
$yestodayTimeStamp /home/admin/testlog.log else
echo $current only dump start,currentTimeStamp$currentTimeStamp currentTimeStamp
$yestodayTimeStamp /home/admin/testlog.log fi
#备份指定集合到临时目录
/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 --port47017 -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 --port47017 -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 --port47017 -u admin -p admin -d admin -c processed_alarm -q {recTime:{$gte:$yestodayTimeStamp,$lt:$currentTimeStamp-}o}
/home/admin/dumptest;
#如果是当月第一天,那么文件还需要放到上一个月文件目录
您可能关注的文档
- K格雅国际贸易实务考点.pdf
- K格雅大学物理实验教案1杨氏弹性模量的测定.pdf
- K格雅大学物理学北邮第四版第一章习题答案.pdf
- K格雅大学物理选择与填空题.pdf
- K格雅大学物理第五版课后答案上版.pdf
- K格雅大学英语四级模拟试题6.pdf
- K格雅大学英语四级考试真题1.pdf
- K清风7、联想万全R680G7服务器安装部署Vmware虚拟化系统说明书.pdf
- K清风学前教育文献综述.pdf
- K清风c程序设计第三版答案谭浩强.pdf
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)