上下文
我有一个实时运行的redis-server。
我想做个备份。
想法:
我想做以下几件事:
cp dump.rdb ~/some-other-location/06-24-2012.rdb ?关注点
我没有看到任何保证dump.rdb总是一致的数据库存储的东西。(即,在我看来,在执行cp时,redis正在写入某段数据的中途,因此dump.rdb并不处于一致状态。)
问题:
这很糟糕,因为我现在必须关闭redis db才能复制dump.rdb。
问题:
在redis-server运行时,对数据库进行实时备份的正确方法是什么?手册中的哪一部分向我承诺,该方法创建的数据库处于一致(而不是写了一半)状态。
谢谢!
发布于 2012-06-25 14:00:08
来自http://redis.io/topics/persistence
Redis对数据备份非常友好,因为您可以在数据库运行时复制RDB文件: RDB一旦生成就不会被修改,并且在生成时使用临时名称并仅在新快照完成时使用rename(2)以原子方式重命名为最终目的地。
因此,正确的方法是简单地将dump.rdb复制到您的备份位置。
发布于 2013-02-23 19:29:20
如果你使用亚马逊S3,用s3cmd tool备份Redis数据库是非常简单的。
s3cmd:http://s3tools.org/s3cmd
教程:http://guchex.com/viniciusfbm/post/50/how-to-backup-redis-database-encrypted-to-s3-via-command-line-ubuntu
https://stackoverflow.com/questions/11182012
复制相似问题