mongodb数据库如何定时备份?上线的项目,mongodb需要注意什么?
发布于 9 年前 作者 XueQian 7092 次浏览 最后一次编辑是 8 年前 来自 问答

如题,mongodb数据库如何实现定时备份,目前数据库在阿里云上,为了安全,如何实现每天或者一定时间自动备份到另一个服务器上? mongodump 如何时间定时自动执行? 已经上线的项目,后期维护需要注意什么??

5 回复

dba知道 如果你必须知道的话 ,那就要看你的部署方式,是主从?复制集?分片还是什么

服务器写cron脚本就可以,比如备份的脚本是~/shell/mongo_bak.sh #!/bin/bash #按日期备份mongodb d=date +"%Y%m%d%H%M" #$(date +"%Y%m%d%H") bak_db_name="buy" if [ -n “$1” ] then bak_db_name=$1 fi echo "-------开始备份数据库:$bak_db_name---------" base_folder=/data/bak/mongodb bak_folder=$base_folder/$d mongodump --quiet -h 127.0.0.1:27017 -d $bak_db_name -o $bak_folder cd $base_folder zip -rq $d.zip $d echo "zip压缩完成: $base_folder/$d.zip" rm -rf $bak_folder #还原数据:mongorestore -h 127.0.0.1:27017 -d $bak_db_name --directoryperdb 2014122310/$bak_db_name

那么cron脚本:比如晚上23点59分更新 59 23 * * * sh ~/shell/mongo_bak.sh >>/data/logs/cron/logs.txt

@haozxuan dba知道是什么意思?只做了简单的单机部署。。。

@asfman 谢谢,刚才也看到了一篇博客讲到了crontab,谢谢您了

@XueQian http://baike.baidu.com/link?url=7AMzjb3rVXBMvYe55efL6fYrlS6bL2MRjuQH95l5h09MvCeUBS_PeL90OKIwfyP6IH0pllBrhceCnClAWPaivOvpacxKHr4r8nYNSqzr9_7kPIYVjlVd0XB2sJDVca_usuWLFvisSTP4pBQGKvWO5M1r_I8BgnfQghdGtnlrXPW

如果是自己做着试水当然可以简陋些,如果对数据很敏感有高要求,就必须采取相应的措施,上述的几种方式中定时备份是最简单的也是最低效的。如果能够满足你的需求当然越简单越好,如果不能够满足那就需要学习下mongodb的部署方式了。

回到顶部