Ubuntu的Redis AOF文件的默认位置是什么?

Fla*_*nix 2 redis ubuntu-16.04

背景

昨天,我们的机器意外崩溃,并且Redis的AOF文件损坏。

在尝试启动服务时,sudo systemctl start redis-server我们会收到以下日志:

读取仅追加文件的错误文件格式:备份AOF文件,然后使用./redis-check-aof --fix

研究

显然,这看起来像是一个简单的错误,只需执行即可./redis-check-aof --fix <filename>

除了我对该文件的位置没有最小的了解。

我已经在Github的讨论中搜索了此问题,但不幸的是没有一个提供文件的位置:

持久性文档也没有提及此文件的位置:

眼镜

这些是我运行Redis的系统的规格:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:        16.04
Codename:       xenial
Run Code Online (Sandbox Code Playgroud)

该文件在哪里?

for*_*ack 5

你有两个选择:

  1. 查找Redis的配置文件,通常名为redis.conf。在dirappendfilename配置指定的目录和文件名AOF的文件。
  2. 使用连接到Redis redis-cli,并使用CONFIG GET命令获取dir配置,即CONFIG GET dir。该AOF文件应位于此目录下。


Joe*_*vey 5

该路径通常是/var/lib/redis/appendonly.aof您需要运行的sudo redis-check-aof --fix /var/lib/redis/appendonly.aof


yuk*_*lia 5

如果您使用 docker 并将卷附加到 /data 那么 appendonly.aof 的路径将是:/data/appendonly.aof