backup - MongoDB备份计划

我想从MySQL切换到MongoDB,但是大量的数据丢失(超过1小时)对我来说是不可接受的。
我需要3个备份计划:
每小时备份计划。数据每隔X分钟刷新一次磁盘,如果服务器出了问题,我会确保在重新启动后,至少在一小时前它会拥有所有数据。我可以配置它吗?
每日备份计划。数据每天都会同步到备份磁盘,所以即使服务器发生爆炸,我也可以在几个小时内恢复昨天的数据。我应该使用fsync、master-slave还是其他什么方法?我希望流量最小,所以理想情况下只发送更改。
每周备份计划。数据被同步到第二个备份磁盘,所以如果服务器和第一个备份磁盘都爆炸了,我至少有上周的数据。这里是可靠性问题,所以可以通过网络发送所有数据。
我该怎么做?


最佳答案:

fsync command将数据刷新到磁盘。默认情况下,每60秒执行一次,但可以使用--syncdelay命令行参数进行配置。
documentation on backups对于每日和每周备份有一些很好的指针。对于每日备份来说,master-slave configuration似乎是最好的选择,因为它只会同步更改。
对于每周备份,您还可以使用主从配置或复制。另一个选项是mongodump utility,它将备份整个数据库。它能够在数据库运行时创建备份,因此您可以在主数据库或其中一个从数据库上运行它。您也可以在备份之前lock从系统。