背景
昨天我们的机器出乎意料地崩溃,我们的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
问题
这个档案在哪里?
2 回答
你有两个选择:
找到Redis的配置文件,通常名为
redis.conf
.dir
和appendfilename
配置指定AOF
文件的目录和文件名 .使用
redis-cli
连接到Redis,并使用CONFIG GET
命令获取dir
配置,即CONFIG GET dir
.AOF
文件应位于此目录下 .路径通常是
/var/lib/redis/appendonly.aof
,您需要运行sudo redis-check-aof --fix /var/lib/redis/appendonly.aof