在我之前有人设置了redis实例(版本2.6)。
但出于某种原因,无论谁设置了这个,都有
etc
/etc/redis.conf
dir
配置设置./
,如此dir ./
像这样:
$ ps aux | grep "redis"`
user /home/user/redis-stable/src/redis-server /etc/redis.conf
/dev/null
,因为daemonize yes
&& logfile stdout
因此它无法在/etc/
中创建备份,因为它没有权限(我猜),我甚至看不到发生了什么,因为日志会发送到{{1 }}
我想进行备份,以便我可以关闭redis以修复所有这些内容,而不会丢失任何数据。有什么想法吗?
我试过了:
/dev/null
但仍无法写作。我猜它可能有一个临时文件,它试图写入之前将其移动到touch /etc/dump.rdb
chown user:users /etc/dump.rdb
在查看Redis源代码后,似乎有一个临时文件:https://github.com/antirez/redis/blob/04542cff92147b9b686a2071c4c53574771f4f88/src/rdb.c#L986
/etc/dump.rdb
也试过
snprintf(tmpfile,256,"temp-%d.rdb", (int) getpid());
答案 0 :(得分:3)
执行命令
config get dir
你会看到redis保存rdb的目录。
执行命令
config set dir /home/user/
将rdb转储目录更改为/ home / user。
然后运行:
redis-cli -p <port> bgsave
这将启动rdb转储。
希望这有帮助。