我有一个正在运行的Redis服务器。
我要备份。
我要执行以下操作:
cp dump.rdb ~/some-other-location/06-24-2012.rdb ?
我没有看到任何可以向我保证dump.rdb始终是一致的数据库存储的东西。(在我看来,当我执行cp时,redis在写入某些数据的过程中途处于中间状态,因此dump.rdb处于不一致状态。)
这很不好,因为我现在必须关闭redis db才能制作dump.rdb的副本。
在Redis服务器运行时,进行数据库实时备份的正确方法是什么?手册的哪一部分向我保证,此方法将创建处于一致(而非半写)状态的数据库。
谢谢!
来自http://redis.io/topics/persistence
Redis非常便于数据备份,因为您可以在数据库运行时复制RDB文件:RDB一旦生成就永远不会被修改,而RDB在生成时会使用一个临时名称,并且仅使用rename(2)原子地重命名为其最终目标新快照完成后。
因此,正确的方法是简单地将dump.rdb复制到您的备份位置。