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