目录 [−]
在生产系统中,数据库的备份是必要的,否则当服务器被攻击,硬盘坏掉,运维误删等原因将数据库干掉的时候就欲哭无泪了。
备份MongoDB数据库常见的方式有三种:
- 使用[MongoDB管理服务(MMS)(https://mms.mongodb.com/)进行云备份
- 使用文件系统快照
- 使用MongoDB自身的mongodump工具
本文介绍第三种简单的备份,对于备份数据量不是太大的数据库还是很有效的。
Sheharyar Naseer在Regular Mongo Backups Using Cron一文中提供了一个简单的脚本mongo_backup.sh:
|
|
View Gist on Github
如果你想在备份的时候锁住数据库,避免备份的时候有更新操作,可以uncomment fsyncLock
和 fsyncUnlock
这两行。
然后将其加入到cron中:
|
|
配置如下:
|
|
micahwedemeyer提供了更强大的一个脚本automongobackup.sh,提供了更强大的备份的功能。
参考资料
- http://www.infoq.com/cn/articles/mongodb-deployment-backup-security
- https://docs.mongodb.org/manual/reference/program/mongodump/
- https://docs.mongodb.org/manual/reference/program/mongorestore/
- https://sheharyar.me/blog/regular-mongo-backups-using-cron/
- https://github.com/micahwedemeyer/automongobackup